Deposit wallet

Deploy the caller's Polymarket deposit wallet and set its trading approvals

Creates the user's deposit wallet — a per-user ERC-1967 proxy on Polygon, deployed through Polymarket's relayer at a deterministic CREATE2 address derived from the owner EOA. A new setup can submit a deployment transaction, then a signed batch setting the CTF/collateral approvals the venue needs; retries can reuse completed state. Idempotent on the deployment leg. Re-submitting for an already-deployed owner is treated as a no-op success and comes back with deploy_tx_id: null. It does not move user funds — it deploys a contract and grants approvals. The approval batch is signed server-side under the user's delegated key; the batch deadline window is one hour, and each relayer transaction is waited on for up to 120 s. A successful response means any approval batch submitted by this call has confirmed. batch_tx_id is its relayer transaction id, already-complete for a saved onboarding checkpoint, reconciled when a pending approval was found complete on-chain, or an empty string when this request submitted no batch. The special values are not relayer transaction ids. Auth & scope. Requires trade:execute for polymarket, identity ownership, and the mutation gate.

post/exchanges/polymarket/deposit-wallet/onboard

Request

  • Base URL
    https://execution.kairos.trade
  • Auth
    API key in header X-Client-Id and API key in header X-Api-Key and API key in header X-Api-Secret

Request body

user_idstring uuid required
turnkey_org_idstring required
owner_addressstring 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.

deposit_wallet_addressstring required

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

deploy_tx_idstring nullable

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.

batch_tx_idstring required

Relayer transaction id for a confirmed trading-approval batch. already-complete means a saved onboarding checkpoint was reused; reconciled means a pending approval was found complete on-chain. An empty string means this request submitted no batch (approvals already present or optional approvals skipped). The markers and empty string are not relayer transaction ids.

successboolean required

Changes

No recorded changes to this operation across all 1 revision of this API.