Skip to main content
Wallet endpoints use /v1/wallets/ and require a bearer token. Names are trimmed and unique per user without case, including archived wallets. Signup creates Your EVM Wallet and Your Solana Wallet. Later forms propose EVM N or Solana N, where N is one more than the active and archived regular wallet count in that family. A Polymarket Deposit Wallet stores no name. Reads display Polymarket - <linked EVM wallet name>, which changes when the linked EVM wallet is renamed. Users cannot name or rename a Polymarket Deposit Wallet. Regular wallet names cannot start with Polymarket - without case.

List User Wallets

GET /v1/wallets/list returns active wallets, or []. Set archived=true to list archived wallets. Balances include token identity, decimals, exact amountRaw, and session agentHoldings.

Refresh Balances

POST /v1/wallets/refresh requires account.write. Send one walletId or {} for all active wallets. The walletIds response confirms queued observations, not completion. Missing wallets return 404; missing enrollment rejects the request. Poll the wallet list for state and failures.

Create a Polymarket Deposit Wallet

POST /v1/polymarket/deposit-wallets requires wallet.sign. Send controllerWalletId and an optional idempotencyKey. It returns the account, or 502 with the operation error. Reuse the key for duplicate delivery; use a new key after failure. Deployed wallets skip deployment.