How It Works
Each user gets a unique receiver address derived via the CREATE2 algorithm. When USDC 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
| Parameter | Value |
|---|---|
| Chain | Arbitrum (chain ID: 42161) |
| Token | USDC |
| Minimum deposit | 5 USDC |
Smart Contract Addresses
| Contract | Arbitrum Mainnet Address |
|---|---|
| DepositFactory | 0x8dCBDFF1758d9Bd77b37ff78982912C35FDc2F21 |
| DepositBeaconImpl | 0x43001EF2e62Ac260FA78D5a0Af8787261e4D82F9 |
Integration Flow
Get the user's receiver address
Call Get Receiver Address to retrieve the user’s unique receiver address. This address is deterministic and will not change.The response includes
receiver_address, token_address (USDC contract), and minimum_deposit.User transfers USDC to the receiver address
The user sends USDC (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 pending transfers
After the user transfers, poll Get Receiver Events to check for pending transfers. We recommend polling every 10 seconds.This endpoint returns transfers that have been detected but not yet deposited into the Vault. Once a transfer is fully processed and credited, it is removed from this list.
Only transfers with
amount >= minimum_deposit are returned. Dust transfers are ignored.Verify the deposit
When a transfer disappears from receiver events, the deposit is complete. You can confirm the credited balance 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 5 USDC 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 USDC on Arbitrum is supported. Sending any other token or transferring on an unsupported chain will result in permanent loss — there is no recovery path.
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.