> ## Documentation Index
> Fetch the complete documentation index at: https://www.bitnob.dev/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Bitnob API requests authenticate with an `X-Auth-Client` API key header against https://api.bitnob.com.
> Always use the sandbox environment for testing. Never put live API keys in sample code.
> Money amounts are integers in the smallest unit of the currency (satoshis for BTC, cents for fiat). Never use floats.
> Every state-changing request takes a client-supplied `reference` and must be treated as idempotent on retry.
> Quotes expire. Re-quote rather than reusing a stale quote id.

# Supported stablecoin chains and tokens

> Every chain the stablecoin API reaches, the tokens each carries in sandbox and production, decimals, and confirmation thresholds before crediting.

[Supported chains](https://www.bitnob.dev/api-reference/addresses/supported-chains.md) returns the live list for your environment, including native token decimals per chain. Query it at runtime rather than hardcoding this page; chains are added and occasionally paused.

```http theme={null}
GET /api/addresses/supported-chains
```

## Chains and tokens

| Chain | Sandbox | Production |
| - | - | - |
| `arbitrum` | none | USDT, USDC |
| `base` | USDC | USDC |
| `bsc` | none | USDT, USDC |
| `ethereum` | USDT, USDC | USDT, USDC |
| `optimism` | USDC | USDT, USDC |
| `plasma` | none | USDT |
| `polygon` | USDT, USDC | USDT, USDC |
| `solana` | USDT, USDC | USDT, USDC |
| `stellar` | USDC | USDC |
| `tron` | none | USDT |

Production-only chains: `arbitrum`, `bsc`, `plasma`, `tron`. Stablecoin amounts use 6 decimals on every chain, so `2000000` is 2 USDT.

## Confirmation thresholds

A deposit is credited, and `deposit.success` fired, only after the chain's confirmation threshold. Bitnob enforces these internally, and they explain why deposits on some chains credit faster than others.

| Chain | Under \$1,000 | Over \$100,000 |
| - | - | - |
| Ethereum | 12 | 64 |
| Arbitrum | 12 | 64 |
| Base | 12 | 64 |
| Optimism | 12 | 64 |
| BSC | 15 | 100 |
| Plasma | 10 | 150 |
| Tron | 19 | 50 |
| Polygon | 64 | 300 |
| Solana | 32 | 64 |
| Stellar | 1 | 1 |

Thresholds rise with the deposit's USD value, so larger deposits take longer to credit. Treat these numbers as a guide and credit from `deposit.success`.

## Stellar is different

Stellar uses one shared address per company rather than an address per user. Incoming funds are attributed by the **memo** field, and memos are your responsibility: assign a unique memo per user or deposit, surface it to the sender, and map incoming funds back with it. Without memos, all Stellar deposits land on your company account and must be reconciled manually. When sending on Stellar, forward any memo the destination gives you exactly as provided.

## Example response

```json theme={null}
{
  "success": true,
  "message": "Supported chains retrieved successfully",
  "data": {
    "chains": [
      {
        "chain": "tron",
        "native_token": { "symbol": "TRX", "decimals": 6 },
        "stablecoins": [
          { "symbol": "USDT", "decimals": 6 }
        ]
      },
      {
        "chain": "solana",
        "native_token": { "symbol": "SOL", "decimals": 9 },
        "stablecoins": [
          { "symbol": "USDT", "decimals": 6 },
          { "symbol": "USDC", "decimals": 6 }
        ]
      },
      {
        "chain": "stellar",
        "native_token": { "symbol": "XLM", "decimals": 7 },
        "stablecoins": [
          { "symbol": "USDC", "decimals": 6 }
        ]
      }
    ]
  }
}
```

The full response carries one entry per chain in the same shape.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.