public/register_deposit_address
Returns the deterministic on-chain deposit address for a wallet and records it so incoming deposits are watched and credited. Pass the wallet and optionally an existing subaccount id; when creating a new subaccount (subaccount omitted or 0) a non-zero manager_id is required. Repeated calls return the same cached address and keep it alive, while new registrations are rate limited per rolling window; unused addresses are dropped after 7 days.
Body
Which factory to register against. Required: the same (wallet, subaccount, manager) has a distinct escrow address per factory, so callers must always be explicit about which flow they want.
standard, instant, direct Wallet address to watch for deposits.
Manager the deposit routes under. Required (non-zero) when creating a new subaccount (subaccount_id omitted or 0); must be 0 or omitted for an existing subaccount — it salts the deposit address, so a nonzero value would mint a distinct escrow for the same destination.
x >= 0Response
Success
How a deposit reached the protocol. Standard and Instant are the two CEX deposit-address flows: Standard (formerly slow) credits the depositor's own subaccount on-chain via its factory; Instant (formerly fast) pools every deposit and credits the owner off-chain from the factory's DepositProcessed events. Direct is a plain wallet deposit straight into a subaccount — no escrow, no factory. Only Standard/Instant are factory-routed (and registerable / sweepable); Direct is a read-only provenance tag.
standard, instant, direct x >= 0Related topics
Programmatic OnboardingSmart Contracts & Multi-sigsMigration skill for your coding agent