Skip to main content
POST
public/register_deposit_address

Body

application/json
deposit_type
enum<string>
required

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.

Available options:
standard,
instant,
direct
wallet
string
required

Wallet address to watch for deposits.

manager_id
integer<uint32> | null

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.

Required range: x >= 0
subaccount_id
integer<int64>
default:0

Response

Success

deposit_address
string
required
deposit_type
enum<string>
required

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.

Available options:
standard,
instant,
direct
wallet
string
required
manager_id
integer<uint32> | null
Required range: x >= 0
subaccount_id
integer<int64> | null