Skip to main content
POST
Split collateral into a complete outcome-token set

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.

Path Parameters

exchange_id
enum<string>
required

Venue. Split/merge require an on-chain CTF (polymarket, predictfun). Kalshi settles off-exchange — redeem only.

Available options:
polymarket,
predictfun,
kalshi,
opinion

Body

application/json
condition_id
string
required

CTF conditionId of the market (0x…).

Example:

"0x1234abcd"

amount
string
required

Decimal string. Units of collateral (split) or complete sets (merge). Must be > 0. An unquoted JSON number is also accepted, but it round-trips through a binary float — send the string form to preserve every digit.

Example:

"100"

market_id
string | null

OPTIONAL. Only enriches the synthetic BUY/SELL trade-log legs with the market's YES/NO token ids — the on-chain split/merge itself needs only condition_id + amount. When omitted the market context is resolved from condition_id; if it cannot be resolved either way the on-chain action still succeeds and only the best-effort trade-log enrichment is skipped.

Example:

"570362"

user_id
string | null

Optional. Must match the authenticated caller when present — identity is resolved server-side and these fields can never widen scope to another user.

turnkey_org_id
string | null

Optional. Must match the authenticated caller when present.

wallet_address
string | null

Optional wallet override; honored only if the wallet is owned by the caller. Omit to let the server resolve the signer wallet.

Response

Split executed on-chain.

amount
string
required

Decimal string — rust_decimal always serializes as a string.

Example:

"100"

condition_id
string
required
Example:

"0x1234abcd"

action
enum<string>
required
Available options:
split
success
boolean
required
tx_hash
string | null

On-chain transaction hash. null when the action completed without producing one — always check success.

Example:

"0xabc123"