Skip to main content
POST
Deploy the caller's Polymarket deposit wallet and set its trading approvals

Authorizations

X-Client-Id
string
header
required

Credential client id (kairos_ck_...). Must be sent together with X-Api-Key and X-Api-Secret.

X-Api-Key
string
header
required

64-char hex API key.

X-Api-Secret
string
header
required

64-char hex API secret.

Body

application/json

The common identity body shared by the deposit-wallet endpoints. All three fields are checked against the authenticated caller and can only ever CONFIRM authority, never grant it — omitting them is not an option here, but supplying someone else's is a 403.

user_id
string<uuid>
required
turnkey_org_id
string
required
owner_address
string
required

The owner EOA. The deposit-wallet address itself is resolved server-side from UserIdentity, never taken from the body.

Response

Wallet deployed (or already present) and approvals submitted.

Response for POST /exchanges/polymarket/deposit-wallet/onboard.

deposit_wallet_address
string
required

The deterministic (CREATE2) ERC-1967 proxy address for this owner.

batch_tx_id
string
required

Relayer transaction id for the confirmed trading-approval batch. Empty when no batch was submitted (approvals already present or optional approvals skipped).

success
boolean
required
deploy_tx_id
string | null

Relayer transaction id for the proxy deployment. null when the wallet was already deployed — the relayer is idempotent and that case is treated as success.