BRS (BRL stablecoin)

Buy BRS with Pix, transfer it on Solana or Base, and use it for Pix payouts.

BRS is a Brazilian Real stablecoin available on Solana and Base, enabled per account (ask support).

FieldValue
Peg1 BRS = R$1.00
Solana mintBRSxQRUaGswjLs7ewcH7uXj3r7SgmfKSSLLXyCKHZtUo
Base token0x0000006238e3C7797Ae71827da303560bae1B125
Minimum buySolana: R$1.00; Base: R$5.00 after fees

Identify BRS by its token address; other tokens can use the same symbol.

The three rules

  1. BRS is pegged 1:1 to BRL. Your account's fees determine the net amount.
  2. Deposits default to your Hodle wallet. External Solana delivery requires account enablement and a separate delivery fee.
  3. Use Wallet Transfer to send BRS from your wallet to another address or subaccount.

Wallet Get returns addresses.solana and BRS balance rows by network. If the initial read has no Solana rows, send sync: true for a fresh balance.

Getting BRS (on-ramp)

Create a Pix charge with POST /api/deposit/asset. Create the receiving wallet first; omit address to use your Hodle Solana wallet.

Create a BRS deposit
curl --request POST \
  --url https://api.hodle.com.br/api/deposit/asset \
  --header "Authorization: Bearer $API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "value": 10000,
    "asset": "BRS",
    "network": "solana",
    "externalId": "my-brs-order-123"
  }'

For external Solana delivery, send address, the fee-paying wallet's walletPin and protectedSymmetricKey. Keep enough BRS in that wallet for the fee. Preview it with Quote and cap it with maxDeliveryFeeCents. See external BRS delivery for expiry and refund handling.

Delivery is asynchronous. Listen for deposit webhooks or poll GET /api/deposit/{id}.

Buying BRS on Base

Send network: "base". The same pricing applies, with a minimum of R$5.00 after fees.

Create a BRS deposit on Base
curl --request POST \
  --url https://api.hodle.com.br/api/deposit/asset \
  --header "Authorization: Bearer $API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "value": 10000,
    "asset": "BRS",
    "network": "base",
    "externalId": "my-brs-base-order-123"
  }'

Omit address to receive in your Hodle Base wallet, or send one of your account's own EVM addresses. External delivery is available only on Solana.

Quote a Base buy with outputCurrency: "BRS" and outputPaymentMethod: "BASE".

Pricing

SetupUser paysUser receives
DefaultR$100100 BRS
Cost pass-through enabledR$100100 BRS minus the Pix cash-in cost and account markup

Ask support which pricing applies to your account.

Moving BRS — POST /api/wallet/transfer

POST /api/wallet/transfer
{
  "recipientAddress": "7xKX...gAsU",
  "asset": "BRS",
  "network": "solana",
  "amount": "50.00",
  "walletPin": "123456",
  "protectedSymmetricKey": "..."
}

Use network: "solana" or "base" and an address on that network. Use toSubAccountId instead of recipientAddress to transfer to one of your subaccounts. The source wallet must hold the BRS; network fees are sponsored.

Paying PIX from BRS — POST /api/wallet/payout

POST /api/wallet/payout
{
  "value": 5000,
  "network": "solana",
  "asset": "BRS",
  "pixKey": "[email protected]",
  "walletPin": "123456",
  "protectedSymmetricKey": "..."
}
  • value is the Pix amount in BRL cents, minimum 100 (R$1.00). The wallet needs the equivalent BRS plus the fee.
  • Send pixKey or qrCode.
  • BRS and API payouts must be enabled on the account (ask support).
  • Solana payouts default to R$0.75, with account-specific fees or waivers. Base payouts cost R$0.75 unless waived. Quote with POST /api/wallet/payout/beneficiary for the exact fee.
  • Send subAccountId to debit that subaccount's wallet on the selected network.
  • The response is 202; a payout can remain PENDING for 15–60 minutes. Keep polling GET /api/wallet/payout/{transactionId} or listen for PAYOUT_SUCCESSFUL and PAYOUT_FAILED webhooks. Do not resend a pending payout.

Paying PIX from BRS on Base

Send network: "base" and explicitly set asset: "BRS". Gas is sponsored.

POST /api/wallet/payout — BRS on Base
{
  "value": 5000,
  "network": "base",
  "asset": "BRS",
  "pixKey": "[email protected]",
  "walletPin": "123456",
  "protectedSymmetricKey": "..."
}

The fee defaults to R$0.75; the minimum and pending handling are the same as on Solana.

Errors

StatusWhen
400Payout below R$1.00, insufficient BRS for amount plus fee, or subaccount has no wallet on the selected network.
403BRS or API payouts not enabled, or external Solana delivery not enabled.

See the endpoint's Errors section for the complete error contract.

See also