Assets & Networks
Every asset the Hodle API supports, the networks it lives on, and which endpoints can move it.
One table per direction. asset and network are always validated together: an unsupported
pair returns 400, and an asset behind a feature flag returns 403 rather than silently
falling back to another asset.
On-ramp — POST /api/deposit/asset
BRL (PIX) in, crypto out to the provided address — or to the account's own Solana wallet for BRS.
| Asset | Networks | Address format |
|---|---|---|
LIGHTNING | lightning | BOLT11 invoice or LNURL email |
BTC | bitcoin | Bitcoin address |
USDT | polygon, arbitrum | EVM address (0x...) |
USDC | polygon, base, gnosis | EVM address (0x...) |
USDCE | gnosis | EVM address (0x...) |
BRLA | polygon, base | EVM address (0x...) |
BRS | solana | Own Hodle Solana wallet |
BRS is available only for accounts with NORA_RAIL enabled. It is minted to the user's
own Hodle Solana wallet; the request does not accept a third-party destination. See
BRS for the cURL example.
Transfer — POST /api/wallet/transfer
Move a balance the user already holds to another Hodle wallet or an external address. Gas is sponsored.
| Network | Assets | Default | Notes |
|---|---|---|---|
polygon | USDT, USDC, BRLA | USDT | USDT is ledger-backed |
base | USDC, BRLA | — | |
solana | USDT, USDC, BRS | — | SPL transferChecked; BRS needs NORA_RAIL |
Off-ramp — POST /api/wallet/payout
Balance in, BRL (PIX) out.
| Network | Assets | Default | Notes |
|---|---|---|---|
polygon | USDT, BRLA | USDT | |
base | USDC, BRLA | USDC | |
tron | USDT | USDT | asset ignored; needs TRON_PAYOUT |
solana | USDT, USDC, BRS | USDT | BRS needs NORA_RAIL |
Lightning off-ramp is a separate endpoint —
/api/lightning/invoice.
BRL-pegged vs USD-pegged
| Asset | Peg | Conversion to the PIX amount |
|---|---|---|
BRLA | BRL | 1:1, no FX |
BRS | BRL | 1:1, no FX — see BRS |
USDT | USD | Converted at the current BRL rate (quote) |
USDC | USD | Converted at the current BRL rate (quote) |
USDCE | USD | Converted at the current BRL rate (quote) |
Assets behind a feature flag
| Asset / network | Flag required (on top of WALLET_PAYOUT_API) | Without it |
|---|---|---|
BRS (solana) | NORA_RAIL | 403 |
USDT (tron) | TRON_PAYOUT | 403 |
Contact Hodle to enable a flag on an account.
Balances
POST /api/wallet/get returns addresses and balances for polygon,
base, tron, solana and spark — including the Solana address and the
BRS balance row. Balances come from a cached chain read, so the first call on a wallet
that was never synced can answer without the Solana rows while the sync runs in the
background; send sync: true to force a fresh read.
Sandbox
The sandbox settles on Base Sepolia with a test token (USDB). Solana —
and therefore BRS — is production-only.