Skip to main content
POST
POST /v2/trade/perps/deposits: Deposit pUSD
Sign each request with a fresh HMAC signature. The cURL and HTTP header values below are placeholders, not reusable credentials. For runnable signing code, use request signing examples.
Moves pUSD from the user’s deposit wallet to their venue account. Scope trade.perps; Idempotency-Key is required. pUSD you deposit to Perps leaves the deposit wallet. It cannot back prediction-market orders or be sent out with /v2/trade/withdraw until you withdraw it from Perps back to the deposit wallet.

Body

string
required
pUSD, as a decimal string with at most 6 decimal places. There is a minimum deposit: an amount below it is refused with 400 INVALID_BODY and a message naming the minimum.

Response

202 Accepted. Poll GET /v2/trade/perps/deposits/{deposit_id} until state is credited.
string
The deposit’s id. Read it back by this id.
string
pUSD deposited.
string
The user’s EOA.
string | null
The deposit transaction.
string
prepared, pending (sent, not yet confirmed and credited), confirmed (on chain, not yet credited by the venue), credited, failed, reverted or not_found.
string
The transaction’s state on chain, for example PENDING.
string
The venue’s view of the deposit, for example UNSEEN.
string | null
Why the deposit failed, when it did.
string
ISO-8601.

Errors

Every Perps code and its retry rule: Errors. After a 504, list GET /v2/trade/perps/deposits before acting again.

Example