# Blockchains and tokens

Ripple Custody (Wallet) supports multiple blockchain networks. This page describes the features available for each supported chain.

Registry
For the live catalog of supported blockchains, assets, and currencies in your environment — including your organization's custom assets — see the [registry](/products/wallet/vaults-and-wallets/registry).

EVM compatibility
For EVM-compatible chains (Ethereum, Arbitrum, Avalanche, Base, BNB, Polygon), a single wallet address works across all supported networks. See [Manage wallets](/products/wallet/vaults-and-wallets/wallets/manage-wallets) to learn how to create multi-chain wallets.

## Supported networks

The following table shows feature availability for each blockchain.

| Chain | Testnet | Mainnet | MPC (CloudSign) | MPC (Mobile) |
|  --- | --- | --- | --- | --- |
| Arbitrum | ✓ | ✓ | ✓ | ✓ |
| Avalanche | ✓ | ✓ | ✓ | ✓ |
| Base | ✓ | ✓ | ✓ | ✓ |
| Bitcoin | ✓ | ✓ | ✓ | Coming soon |
| BNB Smart Chain | ✓ | ✓ | ✓ | ✓ |
| Ethereum | ✓ | ✓ | ✓ | ✓ |
| 1Money | ✓ | — | ✓ | ✓ |
| Polygon | ✓ | ✓ | ✓ | ✓ |
| Solana | ✓ | ✓ | ✓ | ✓ |
| Tron | ✓ | ✓ | ✓ | ✓ |
| XRP Ledger | ✓ | ✓ | ✓ | ✓ |


## Transaction and signing capabilities

The following table shows transaction and signing features for each blockchain.

| Chain | Native tokens | Issued tokens | Raw signing | WalletConnect | Plaintext signing | Advanced transactions |
|  --- | --- | --- | --- | --- | --- | --- |
| Arbitrum | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| Avalanche | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| Base | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| Bitcoin | ✓ | — | — | — | — | — |
| BNB Smart Chain | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| Ethereum | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| 1Money | — | ✓ | ✓ | — | ✓ | ✓ |
| Polygon | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| Solana | ✓ | ✓ | ✓ | — | ✓ | — |
| Tron | ✓ | ✓ | ✓ | — | ✓ | — |
| XRP Ledger | ✓ | ✓ | ✓ | — | ✓ | ✓ |


## Operational features

The following table shows operational features for each blockchain.

| Chain | Sweeping | Fee estimation | Multi-chain |
|  --- | --- | --- | --- |
| Arbitrum | ✓ | ✓ | ✓ |
| Avalanche | ✓ | ✓ | ✓ |
| Base | ✓ | ✓ | ✓ |
| Bitcoin | ✓ | — | — |
| BNB Smart Chain | ✓ | ✓ | ✓ |
| Ethereum | ✓ | ✓ | ✓ |
| 1Money | ✓ | ✓ | ✓ |
| Polygon | ✓ | ✓ | ✓ |
| Solana | ✓ | ✓ | — |
| Tron | ✓ | ✓ | — |
| XRP Ledger | ✓ | ✓ | — |


## Incoming transaction confirmations

Ripple Custody (Wallet) processes an incoming transaction as confirmed and reflects it in your wallet balance once it meets the chain-specific finality requirement below.

For block-based thresholds, the value is the number of additional blocks Ripple Custody (Wallet) waits after the block containing the transaction. Under the usual convention where the containing block is confirmation 1, a threshold of N additional blocks means the transaction has N + 1 confirmations when Ripple Custody (Wallet) processes it.

| Chain | Confirmation rule |
|  --- | --- |
| Arbitrum | 40 additional blocks |
| Avalanche C-Chain | Provider's native `finalized` block |
| Base | 10 additional blocks |
| Bitcoin | 1 additional block |
| BNB Smart Chain | Provider's native `finalized` block |
| Ethereum | 2 additional blocks |
| 1Money | Latest checkpoint |
| Polygon | Provider's native `finalized` block |
| Solana | Finalized commitment |
| Tron | 19 additional blocks |
| XRP Ledger | Validated ledger |


Some chains expose a finality mechanism instead of requiring Ripple Custody (Wallet) to apply an additional block threshold:

- **BNB Smart Chain, Polygon, and Avalanche C-Chain** — Ripple Custody (Wallet) uses the provider's native `finalized` block. For Avalanche C-Chain, this corresponds to the chain's consensus-accepted state.
- **Solana** — Ripple Custody (Wallet) uses the `finalized` commitment level.
- **XRP Ledger** — Ripple Custody (Wallet) processes transactions from validated ledgers.
- **1Money** — Ripple Custody (Wallet) processes transactions from the latest checkpoint.


For BNB Smart Chain, Polygon, and Avalanche C-Chain, if the provider can't return a finalized block or its finalized head stops advancing, confirmation waits. Ripple Custody (Wallet) doesn't fall back to the latest block. Confirmation time can vary with network and provider conditions.

## Native-asset deposits sent by smart contracts

**Applies to:** Ethereum, Polygon, Arbitrum, Avalanche, Base, BNB Smart Chain, Tron

Not supported
Ripple Custody (Wallet) doesn't support internal transactions. It doesn't detect native-asset deposits that a smart contract sends to your wallet. Block explorers such as Etherscan and Tronscan list these transfers as *internal transactions*.

Ripple Custody (Wallet) detects a native-asset deposit, such as ETH on Ethereum or TRX on Tron, only when the deposit is the value of a transaction sent directly to your wallet address. A smart contract can also send a native asset to your wallet while it runs. That transfer is part of the contract's transaction, not a transaction of its own, and Ripple Custody (Wallet) doesn't record it:

- The deposit doesn't appear in the wallet's transaction history.
- The wallet's balance in Ripple Custody (Wallet) doesn't include it, so it's lower than the balance a block explorer shows for the same address.


Some exchanges, smart contract wallets, and decentralized applications send native assets this way. Before you share a deposit address, ask the sender to send native assets as a direct transfer to the address.

If you've already received a deposit this way, [refresh the wallet's balances](/products/wallet/vaults-and-wallets/wallets/understanding-balances#refreshing-balances). A refresh reads the native-asset balance from the blockchain, so the wallet's balance then includes the deposit. A refresh doesn't add the deposit to the wallet's transaction history.

[Asset sweeping](/products/wallet/vaults-and-wallets/asset-sweeping) doesn't move these deposits, even after you refresh the wallet's balances. A native sweep moves only deposits that Ripple Custody (Wallet) recorded. To move the funds, send a withdrawal from the wallet.

### Token transfers sent by smart contracts

This limitation applies only to native assets. Ripple Custody (Wallet) detects ERC-20, TRC-20, and ERC-721 tokens that a smart contract sends to your wallet, as long as the token contract emits the standard `Transfer` event.

Ripple Custody (Wallet) doesn't detect token balance changes that don't emit a standard `Transfer` event. Examples include tokens with a non-standard transfer event, zero-value transfers, and rebasing tokens whose balances change without a transfer.

Not the same as internal transfers
In Ripple Custody (Wallet), an *internal transfer* is a transfer between wallets in your organization. Internal transfers are direct transfers, so Ripple Custody (Wallet) detects them normally.

## Feature reference

This section defines each feature shown in the tables above.

### Environment

| Feature | Description |
|  --- | --- |
| Testnet | The chain is available in the sandbox environment for development and testing. |
| Mainnet | The chain is available in the production environment for live transactions. |


### Key management

| Feature | Description |
|  --- | --- |
| MPC (CloudSign) | CloudSign devices split keys using Multi-Party Computation. See [Set up and run CloudSign](/products/wallet/signing-and-key-management/devices/set-up-cloudsign). |
| MPC (Mobile) | Mobile devices split keys using Multi-Party Computation. See [Add and manage devices](/products/wallet/signing-and-key-management/devices/add-a-device). |


### Assets

| Feature | Description |
|  --- | --- |
| Native tokens | Ripple Custody (Wallet) supports the blockchain's native asset, such as ETH on Ethereum or SOL on Solana. |
| Issued tokens | Ripple Custody (Wallet) supports tokens issued on the blockchain, such as ERC-20 tokens like USDC on Ethereum. See [Supported token standards](#supported-token-standards) for the full list of token types supported on each chain. |


### Transaction capabilities

| Feature | Description |
|  --- | --- |
| Raw signing | You can sign custom transaction payloads that you construct. This enables deploying smart contracts, interacting with smart contracts, and performing complex transactions not directly supported by the platform. See [Raw signing](/products/wallet/transactions/raw-signing). |
| WalletConnect | You can connect wallets to decentralized applications (dApps) using the [WalletConnect](https://reown.com/) protocol. This enables swaps, liquidity provision, and other dApp interactions. See [Connections](/products/wallet/integrations-and-monitoring/connections). |
| Plaintext signing | You can sign arbitrary plaintext data for dApp authentication, proof of funds, or proof of key ownership. |
| Advanced transactions | Ripple Custody (Wallet) provides blockchain-specific transaction types as API endpoints, such as TrustSet on XRP Ledger. Use these endpoints to execute complex blockchain operations without building raw transactions. |


### Operations

| Feature | Description |
|  --- | --- |
| Sweeping | Automated consolidation of funds from multiple wallets into a destination wallet. See [Asset sweeping](/products/wallet/vaults-and-wallets/asset-sweeping). |
| Fee estimation | You can estimate transaction fees before submission. |
| Multi-chain | A single wallet address works across multiple EVM-compatible chains. |


## Supported token standards

Ripple Custody (Wallet) classifies tokens using the following standard types. Use these types in the API when you specify token operations.

| Standard | ID | Description |
|  --- | --- | --- |
| NATIVE | 1 | The blockchain's native asset (for example, ETH, SOL, BTC). |
| ERC20 | 2 | EVM fungible tokens. Also covers TRC-20 on Tron and BEP-20 on BNB Smart Chain, which use the same contract interface. |
| ISSUED_CURRENCY | 3 | XRP Ledger trustline-based tokens. |
| ERC721 | 4 | EVM non-fungible tokens (NFTs). |
| SPL | 5 | Solana tokens. Covers both the original SPL Token program and Token-2022 (Token Extensions). |
| CUSTOM | 99 | 1Money proprietary tokens. |


### Token support by chain

The following table summarizes which token standards are available on each blockchain.

| Chain | NATIVE | ERC20 | ISSUED_CURRENCY | ERC721 | SPL | CUSTOM |
|  --- | --- | --- | --- | --- | --- | --- |
| Arbitrum | ✓ | ✓ | — | ✓ | — | — |
| Avalanche | ✓ | ✓ | — | ✓ | — | — |
| Base | ✓ | ✓ | — | ✓ | — | — |
| Bitcoin | ✓ | — | — | — | — | — |
| BNB Smart Chain | ✓ | ✓ | — | ✓ | — | — |
| Ethereum | ✓ | ✓ | — | ✓ | — | — |
| 1Money | ✓ | — | — | — | — | ✓ |
| Polygon | ✓ | ✓ | — | ✓ | — | — |
| Solana | ✓ | — | — | — | ✓ | — |
| Tron | ✓ | ✓ | — | — | — | — |
| XRP Ledger | ✓ | — | ✓ | — | — | — |


### Chain-specific token details

#### EVM chains

**Applies to:** Ethereum, Polygon, Arbitrum, Avalanche, Base, BNB Smart Chain

EVM-compatible chains support the following token standards:

- **NATIVE** — The chain's native gas token: ETH on Ethereum, Arbitrum, and Base; POL on Polygon; AVAX on Avalanche; and BNB on BNB Smart Chain.
- **ERC-20** — Fungible tokens following the ERC-20 standard. BNB Smart Chain uses the BEP-20 standard, which is functionally identical and mapped to `ERC20` in the API.
- **ERC-721** — Non-fungible tokens (NFTs). Supported operations include mint, burn, and transfer.


#### Solana

Solana supports the following token standards:

- **NATIVE** — SOL, the chain's native asset.
- **SPL** — Tokens issued through either the SPL Token program or the Token-2022 (Token Extensions) program. The connector supports both token programs under the single `SPL` standard type.


Supported token operations: transfer, mint, burn, freeze, thaw, close account, and set authority.

#### Tron

Tron supports the following token standards:

- **NATIVE** — TRX, the chain's native asset.
- **TRC-20** — Fungible tokens following the TRC-20 standard. TRC-20 uses the same contract interface as ERC-20, and Ripple Custody (Wallet) maps it to `ERC20` in the API.


#### Bitcoin

Bitcoin supports **NATIVE** only (BTC). Transactions use the UTXO model.

Ripple Custody (Wallet) supports native BTC sweeping. Ripple Custody (Wallet) doesn't support Bitcoin token standards such as BRC-20, Ordinals, and Runes for sweeping or other token operations.

Ripple Custody (Wallet) supports these script types: P2PKH, P2WPKH, P2SH, P2WSH, P2TR, and nested SegWit.

Not supported on Bitcoin
Ripple Custody (Wallet) doesn't support BRC-20, Ordinals, or Runes token standards.

#### XRP Ledger

XRP Ledger supports the following token standards:

- **NATIVE** — XRP, the ledger's native asset.
- **ISSUED_CURRENCY** — Trustline-based tokens issued on the XRP Ledger. These tokens require a trust line between the holder and the issuer.


Additional supported operations: clawback and AMM (Automated Market Maker) transactions.

#### 1Money

1Money supports the following token standards:

- **NATIVE** — 1MONEY, the chain's native asset.
- **CUSTOM** — Proprietary tokens issued on the 1Money network.


Supported token lifecycle operations: create, mint, burn, freeze, pause, whitelist, blacklist, and authority management.

### Unsupported token standards

Not supported
Ripple Custody (Wallet) doesn't support the following token standards:

- **ERC-1155** — Multi-token standard (combined fungible and non-fungible tokens in a single contract).
- **BRC-20 / Ordinals / Runes** — Bitcoin-based token standards.
- **Hedera tokens** — Ripple Custody (Wallet) no longer includes the Hedera connector.