Stablecoin Deposits
Let users add funds by sending stablecoins to a deposit address. Addresses are per-account, per-chain, reusable, and never expire.Flow
Create a Deposit Address
- EVM:
CREATE2via factory contract (deterministic from accountId + chainId salt) - Solana: Wallet manager service
- Movement: Wallet manager service
Settle with Auto-Detection
After a user sends tokens, call settle. It queries all supported tokens and picks the one with a balance — no need to know which token was sent.How Auto-Detection Works
| VM | Method |
|---|---|
| EVM | balanceOf call on each ERC20 contract via RPC |
| Solana (SVM) | getTokenAccountsByOwner with SPL Token Program, match mint addresses |
| Movement (MoveVM) | Aptos REST API, match 0x1::coin::CoinStore<CoinType> resources |
no_funded_token error.