How It Works
Each user gets a unique receiver address derived via the CREATE2 algorithm. When a supported token lands at that address, Orderly’s backend automatically detects the transfer, deploys a minimal proxy contract (if needed), and deposits the funds into the Vault — all in a single atomic transaction paid for by the platform.Supported Chains & Tokens
Supported chains and tokens are returned dynamically by theGET /v1/public/token endpoint. Check the chain_details for each token — entries where exclusive_deposit_supported is true are eligible for deposit via transfer.
| Chain | Chain ID | Supported Tokens | Minimum Deposit |
|---|---|---|---|
| Arbitrum | 42161 | USDC, USDT | 5 |
| BNB Chain | 56 | USDC, USDT | 5 |
Smart Contract Addresses
| Chain | DepositFactory | DepositBeaconImpl |
|---|---|---|
Arbitrum (42161) | 0x8dCBDFF1758d9Bd77b37ff78982912C35FDc2F21 | 0x43001EF2e62Ac260FA78D5a0Af8787261e4D82F9 |
BNB Chain (56) | 0x8dCBDFF1758d9Bd77b37ff78982912C35FDc2F21 | 0xDE5C8345DD0Ce07eb0c7A210F307Ae6DB61584cb |
Integration Flow
Get the user's receiver address
Call Get Receiver Address with the desired
chain_id and token to retrieve the user’s unique receiver address. This address is deterministic and will not change.The response includes receiver_address, token_address, and minimum_deposit for the requested chain + token combination.This is a private endpoint — all receiver address APIs require standard Orderly authentication headers.
User transfers tokens to the receiver address
The user sends the requested token (ERC-20 transfer) to the
receiver_address returned above. This can be done from:- Any EVM wallet (MetaMask, Rabby, etc.)
- A CEX withdrawal (Binance, OKX, etc.)
- A smart contract or multisig
Poll for transfer status
After the user transfers, poll Get Receiver Events to track the deposit status. We recommend polling every 10 seconds.Status values:
| Status | Meaning |
|---|---|
PENDING | Transfer detected, waiting for processing |
PROCESSED | Deposit transaction submitted on-chain |
COMPLETED | Funds credited to account |
FAILED | Deposit failed (auto-retries in progress) |
Only transfers with
amount >= minimum_deposit are returned.Verify the deposit
Once the status is
COMPLETED, the balance is credited. You can confirm via the Get Asset History endpoint with side=DEPOSIT.Eligibility
Not all accounts can use this feature:| Requirement | Detail |
|---|---|
| Account type | Must be a regular account (not sub-accounts or Strategy Providers) |
| Chain type | Must be an EVM account (Solana accounts are not supported) |
GET /v1/client/asset/receiver_address:
| Code | Meaning |
|---|---|
| 82 | Chain ID does not exist |
| 83 | Chain ID not supported for this feature |
| 84 | Account type not eligible |
| 86 | Solana accounts not supported |
Limitations & Edge Cases
What happens if I send less than the minimum deposit?
What happens if I send less than the minimum deposit?
Transfers below the minimum deposit threshold are treated as dust and will not be deposited or refunded. The funds remain in the receiver contract with no recovery mechanism.
What if I send the wrong token or use the wrong chain?
What if I send the wrong token or use the wrong chain?
Only supported chain + token combinations are accepted. Sending any other token or transferring on an unsupported chain will result in permanent loss — there is no recovery path. Check
GET /v1/public/token for currently supported combinations.Can I send multiple transfers at once?
Can I send multiple transfers at once?
Yes. Each transfer is tracked and processed independently as a separate deposit record (1:1 mapping).
How long does the deposit take?
How long does the deposit take?
Most deposits complete within 1–2 minutes. If a deposit remains in
PENDING for more than 15 minutes, contact support.Are there any fees?
Are there any fees?
No additional fees are charged for deposits via transfer. The platform absorbs the gas cost.
Does the receiver address ever change?
Does the receiver address ever change?
No. The receiver address is deterministic (derived via CREATE2) and remains the same for the lifetime of the account.