Skip to main content
POST
Request a deposit into a vault

Body

application/json

Fields common to every signed vault action. They appear alongside each endpoint's action-specific parameters in the same request object.

amount
string<decimal>
required

Deposit amount in the vault's deposit asset, as a decimal string (e.g. "1").

deposit_spot_asset
string
required

20-byte Ethereum address as a 0x-prefixed lowercase hex string.

Required string length: 42
Pattern: ^0x[0-9a-fA-F]{40}$
nonce
integer<uint64>
required
Required range: x >= 0
signature
string
required

0x-prefixed hex of the 65-byte EOA signature.

signature_expiry_sec
integer<uint64>
required
Required range: x >= 0
signer
string
required

20-byte Ethereum address as a 0x-prefixed lowercase hex string.

Required string length: 42
Pattern: ^0x[0-9a-fA-F]{40}$
subaccount_id
integer<uint64>
required

The subaccount the action is signed on; which subaccount applies depends on the specific method — see that method's reference.

Required range: x >= 0
vault_subaccount_id
integer<uint64>
required
Required range: x >= 0

Response

Success

Returned by request_vault_deposit / request_vault_withdraw: the id the queued request was assigned (the user's handle for polling / cancelling).

request_id
object
required

Composite vault request id: (vault_subaccount_id, wallet, vault_nonce)

Useful as a stable dedup key across off-chain and on-chain vault events.