POST /api/v1/builder/onboard
Onboard an existing end-user to an exchange. Thin wrapper around the trader onboard endpoint with builder ownership verification.
There are three credential strategies for your end-users:
| Strategy | When to use | How |
|---|---|---|
| Managed | User doesn’t have a wallet — Parsec creates one | mode: "managed" |
| Self | User has exchange API keys — Parsec stores them | mode: "self" |
| Per-request | User manages their own keys — nothing stored | Skip onboard, pass X-Exchange-Credentials per-request |
Parameters
The end-user’s Parsec customer UUID (must be owned by this builder).
polymarket or kalshi.managed or self.Managed mode fields
Used whenmode: "managed" — Parsec creates a wallet and derives exchange credentials on behalf of the user.
Two mutually exclusive paths:
- No external wallet:
wallet_type: "eoa"(default) — Parsec creates an embedded EOA. - External wallet:
wallet_type: "safe"+eoa_address— Parsec creates a Safe owned by the external address.
eoa (default) — creates an embedded EOA wallet.
safe — creates a Safe wallet (requires eoa_address).External wallet address (42-char hex,
0x-prefixed). Required when wallet_type: "safe".
Must not be provided when wallet_type: "eoa".Chain ID for Safe wallet creation. Defaults to Polygon (137). Only used with
wallet_type: "safe".Self mode fields — Polymarket
Used whenmode: "self" and exchange: "polymarket" — you provide the user’s existing CLOB credentials.
CLOB API key.
CLOB API secret.
CLOB API passphrase.
Ethereum private key (
0x-prefixed hex) for order signing. Optional — without it, only read operations (balance, positions) work.Self mode fields — Kalshi
Used whenmode: "self" and exchange: "kalshi" — you provide the user’s API key and RSA private key.
Kalshi API key ID.
RSA private key in PEM format.
Response
Parsec customer UUID.
Exchange that was onboarded.
managed or self."complete" on success.EOA wallet address. For managed EOA mode, this is the Parsec-created embedded wallet.
For managed Safe mode, this is the external wallet address that owns the Safe.
Safe wallet address. Present only when
wallet_type: "safe".Exchanges the user is onboarded to after this call.
Steps completed during this call. Possible values:
wallet_eoa_created— Managed EOA: embedded wallet createdexternal_eoa_provided— Managed Safe: external wallet address acceptedwallet_safe_created— Managed Safe: Safe wallet createdexchange_linked— Managed: CLOB credentials derived + approvals setcredentials_validated— Self Kalshi: PEM key validatedcredentials_stored— Self: credentials stored
Wallet info. Present if user has a wallet.
Whether fee escrow is active.
Fee basis points (builder-level setting).
Fee recipient address (builder-level setting).