OrderbookTrade-API-Docs

Health Check

get

Check if the server is running

Responses
chevron-right
200

OK

application/json
statusstringOptional
timestringOptional
versionstringOptional
get
/health
200

OK

Generate Nonce

get

Generate a random nonce for EIP-712 signing

Responses
chevron-right
200

Nonce generated

application/json
codeintegerOptional
get
/auth/nonce
200

Nonce generated

Login

post

Login with EIP-712 signed message to receive a JWT token

Body
accountstringRequired

Ethereum address

noncestringRequired

Hex nonce from /auth/nonce

timestampintegerRequired

Unix timestamp (must be within 5 minutes of server time)

signaturestringRequired

EIP-712 signature

Responses
chevron-right
200

Login successful

application/json
codeintegerOptional
post
/auth/login

WebSocket Connection

get

WebSocket connection for real-time orderbook and trade updates. Subscribe to channels: orderbook, trades

Responses
get
/ws
101

Switching Protocols

No content

Get All Markets

get

Retrieve all markets with optional status filter

Query parameters
statusstringOptional

Filter by status (active, inactive)

Responses
chevron-right
200

List of markets

application/json
idintegerOptional
namestringOptional
descriptionstringOptional
statusstringOptional
base_assetstringOptional
quote_assetstringOptional
min_pricenumberOptional
max_pricenumberOptional
min_sizenumberOptional
max_sizenumberOptional
tick_sizenumberOptional
categorystringOptional
closes_atstring · date-timeOptional
condition_idstringOptional
token_id_yesstringOptional
token_id_nostringOptional
created_atstring · date-timeOptional
updated_atstring · date-timeOptional
get
/v1/markets
200

List of markets

Create Market

post

Create a new market (requires EIP-712 authentication)

Authorizations
AuthorizationstringRequired

EIP-712 signature authentication via request body fields (maker_address, signature)

Body
idintegerRequired
namestringRequired
descriptionstringOptional
statusstring · enumRequiredPossible values:
base_assetstringOptional
quote_assetstringOptional
min_pricenumberOptional
max_pricenumberOptional
min_sizenumberOptional
max_sizenumberOptional
tick_sizenumberOptional
categorystringOptional
closes_atstring · date-timeOptional
condition_idstringOptional
token_id_yesstringOptional
token_id_nostringOptional
Responses
chevron-right
200

Market created successfully

application/json
codeintegerOptional
msgstringOptionalExample: success
dataobjectOptional
post
/v1/markets

Get Market by ID

get

Retrieve a specific market by its ID

Path parameters
market_idintegerRequired

Market ID

Responses
chevron-right
200

Market details

application/json
idintegerOptional
namestringOptional
descriptionstringOptional
statusstringOptional
base_assetstringOptional
quote_assetstringOptional
min_pricenumberOptional
max_pricenumberOptional
min_sizenumberOptional
max_sizenumberOptional
tick_sizenumberOptional
categorystringOptional
closes_atstring · date-timeOptional
condition_idstringOptional
token_id_yesstringOptional
token_id_nostringOptional
created_atstring · date-timeOptional
updated_atstring · date-timeOptional
get
/v1/markets/{market_id}

Update Market

put

Update an existing market (requires EIP-712 authentication)

Authorizations
AuthorizationstringRequired

EIP-712 signature authentication via request body fields (maker_address, signature)

Path parameters
market_idintegerRequired

Market ID

Body
idintegerRequired
namestringRequired
descriptionstringOptional
statusstring · enumRequiredPossible values:
base_assetstringOptional
quote_assetstringOptional
min_pricenumberOptional
max_pricenumberOptional
min_sizenumberOptional
max_sizenumberOptional
tick_sizenumberOptional
categorystringOptional
closes_atstring · date-timeOptional
condition_idstringOptional
token_id_yesstringOptional
token_id_nostringOptional
Responses
chevron-right
200

Market updated successfully

application/json
codeintegerOptional
msgstringOptionalExample: success
dataobjectOptional
put
/v1/markets/{market_id}

Get Order Book

get

Retrieve the current state of the order book (bids and asks) for a market

Path parameters
market_idintegerRequired

Market ID

Responses
chevron-right
200

Current order book snapshot

application/json
market_idintegerOptional
mid_pricenumberOptional
last_pricenumberOptional
get
/v1/markets/{market_id}/orderbook
200

Current order book snapshot

Get Recent Trades

get

Retrieve a list of recent trades for a market

Path parameters
market_idintegerRequired

Market ID

Query parameters
limitintegerOptional

Number of trades to return (default 50)

Responses
chevron-right
200

List of recent trades

application/json
idstringOptional
market_idintegerOptional
maker_order_idstringOptional
taker_order_idstringOptional
pricenumberOptional
sizenumberOptional
sidestringOptional

Taker's side

timestampintegerOptional
get
/v1/markets/{market_id}/trades
200

List of recent trades

Get On-Chain Status

get

Retrieve the on-chain status of a market including condition and token IDs

Path parameters
market_idintegerRequired

Market ID

Responses
chevron-right
200

On-chain status

application/json
market_idintegerOptional
condition_idstringOptional
token_id_yesstringOptional
token_id_nostringOptional
condition_existsbooleanOptional
outcome_slot_countintegerOptional
is_consistentbooleanOptional
messagestringOptional
get
/v1/markets/{market_id}/onchain-status

Get Candlestick Data

get

Retrieve OHLCV candle data for charting

Path parameters
market_idintegerRequired

Market ID

Query parameters
limitintegerOptional

Number of candles to return (default 100)

Responses
chevron-right
200

List of candles

application/json
opennumberOptional
highnumberOptional
lownumberOptional
closenumberOptional
volumenumberOptional
startTimeintegerOptional

Unix timestamp (seconds), minute aligned

get
/v1/markets/{market_id}/candles
200

List of candles

Place an Order

post

Place a new order with EIP-712 signature authentication

Authorizations
AuthorizationstringRequired

EIP-712 signature authentication via request body fields (maker_address, signature)

Body
idstringRequired
maker_addressstringRequired
market_idintegerRequired
sidestring · enumRequiredPossible values:
typestring · enumRequiredPossible values:
outcomestring · enumRequiredPossible values:
time_in_forcestring · enumOptionalPossible values:
pricenumberRequired
sizenumberRequired
actionstring · enumRequiredPossible values:
nonceintegerOptional

EIP-712 signature field

signaturestringOptional
saltstringOptional
expirationintegerOptional
token_idstringOptional

CTF token ID

maker_amountstringOptional

uint256 string

taker_amountstringOptional

uint256 string

side_enumintegerOptional

On-chain side enum

signature_typeintegerOptional
signerstringOptional
takerstringOptional
fee_rate_bpsstringOptional

Fee rate in basis points

Responses
chevron-right
200

Order placed successfully

application/json
codeintegerOptional
msgstringOptionalExample: success
dataobjectOptional
post
/v1/orders

Cancel an Order

delete

Cancel an existing order by its ID with EIP-712 signature authentication

Authorizations
AuthorizationstringRequired

EIP-712 signature authentication via request body fields (maker_address, signature)

Path parameters
order_idstringRequired

Order ID

Body
maker_addressstringRequired
market_idintegerRequired
sidestring · enumRequiredPossible values:
outcomestring · enumRequiredPossible values:
signaturestringRequired
Responses
chevron-right
200

Order cancelled successfully

application/json
codeintegerOptional
msgstringOptionalExample: success
dataobjectOptional
delete
/v1/orders/{order_id}

Admin Deposit

post

Admin endpoint to deposit funds into a user's account

Authorizations
X-Admin-KeystringRequired

Admin API key

Body
user_addressstringRequired
amountnumberRequired
Responses
chevron-right
200

Deposit successful

application/json
codeintegerOptional
msgstringOptionalExample: success
dataobjectOptional
post
/v1/admin/deposit

Resolve Market

post

Resolve a market with a winning outcome, trigger payouts

Authorizations
X-Admin-KeystringRequired

Admin API key

Body
market_idintegerRequired
winning_outcomestring · enumRequiredPossible values:
resolved_bystringOptional
notesstringOptional
Responses
chevron-right
200

Market resolved successfully

application/json
codeintegerOptional
msgstringOptionalExample: success
dataobjectOptional
post
/v1/admin/resolve

Get Resolution

get

Get the resolution details and payouts for a resolved market

Authorizations
X-Admin-KeystringRequired

Admin API key

Path parameters
market_idintegerRequired

Market ID

Responses
chevron-right
200

Resolution details

application/json
codeintegerOptional
msgstringOptionalExample: success
dataobjectOptional
get
/v1/admin/resolutions/{market_id}

Get My Deposits

get

Get deposit history for the authenticated user

Authorizations
AuthorizationstringRequired

JWT Bearer token. Format: Bearer {token}

Responses
chevron-right
200

List of deposits

application/json
user_addressstringOptional
token_addressstringOptional
amountnumberOptional
ref_idstringOptional
created_atstring · date-timeOptional
get
/v1/me/deposits

Get My Balances

get

Get all token balances for the authenticated user

Authorizations
AuthorizationstringRequired

JWT Bearer token. Format: Bearer {token}

Responses
chevron-right
200

List of balances

application/json
user_addressstringOptional
token_typestring · enumOptionalPossible values:
market_idintegerOptional
availablenumberOptional
lockednumberOptional
get
/v1/me/balances

Get My Withdrawals

get

Get withdrawal history for the authenticated user

Authorizations
AuthorizationstringRequired

JWT Bearer token. Format: Bearer {token}

Responses
chevron-right
200

List of withdrawals

application/json
user_addressstringOptional
token_addressstringOptional
amountnumberOptional
statusstring · enumOptionalPossible values:
created_atstring · date-timeOptional
get
/v1/me/withdrawals

Deposit Funds

post

Deposit funds into the authenticated user's account

Authorizations
AuthorizationstringRequired

JWT Bearer token. Format: Bearer {token}

Body
amountnumberRequired
Responses
chevron-right
200

Deposit successful

application/json
codeintegerOptional
msgstringOptionalExample: success
dataobjectOptional
post
/v1/me/deposit

Request Withdrawal

post

Request a withdrawal from the authenticated user's account

Authorizations
AuthorizationstringRequired

JWT Bearer token. Format: Bearer {token}

Body
amountnumberRequired
Responses
chevron-right
200

Withdrawal requested

application/json
codeintegerOptional
msgstringOptionalExample: success
dataobjectOptional
post
/v1/me/withdraw

Get My Orders

get

Get orders for the authenticated user with optional filters

Authorizations
AuthorizationstringRequired

JWT Bearer token. Format: Bearer {token}

Query parameters
statusstringOptional

Filter by status (OPEN, FILLED, CANCELLED)

market_idintegerOptional

Filter by market ID

limitintegerOptional

Number of orders to return (default 50)

Responses
chevron-right
200

List of orders

application/json
idstringOptional
maker_addressstringOptional
market_idintegerOptional
sidestringOptional
typestringOptional
outcomestringOptional
pricenumberOptional
sizenumberOptional
filled_sizenumberOptional
statusstringOptional
time_in_forcestringOptional
created_atstring · date-timeOptional
updated_atstring · date-timeOptional
get
/v1/me/orders

Get My Positions

get

Get positions for the authenticated user

Authorizations
AuthorizationstringRequired

JWT Bearer token. Format: Bearer {token}

Responses
chevron-right
200

List of positions

application/json
market_idintegerOptional
market_namestringOptional
outcomestring · enumOptionalPossible values:
total_sizenumberOptional
avg_pricenumberOptional
total_costnumberOptional
get
/v1/me/positions

Get My Trades

get

Get trade history for the authenticated user

Authorizations
AuthorizationstringRequired

JWT Bearer token. Format: Bearer {token}

Query parameters
market_idintegerOptional

Filter by market ID

limitintegerOptional

Number of trades to return (default 50)

Responses
chevron-right
200

List of trades

application/json
idstringOptional
market_idintegerOptional
maker_order_idstringOptional
taker_order_idstringOptional
pricenumberOptional
sizenumberOptional
sidestringOptional

Taker's side

timestampintegerOptional
get
/v1/me/trades

Start Bot

post

Start the market-making bot for a specific market

Authorizations
X-Admin-KeystringRequired

Admin API key

Body
market_idintegerRequired
pricenumberOptional
Responses
chevron-right
200

Bot started

application/json
codeintegerOptional
msgstringOptionalExample: success
dataobjectOptional
post
/bot/start

Stop Bot

post

Stop the market-making bot

Authorizations
X-Admin-KeystringRequired

Admin API key

Responses
chevron-right
200

Bot stopped

application/json
codeintegerOptional
msgstringOptionalExample: success
dataobjectOptional
post
/bot/stop

Bot Status

get

Get the current status of the market-making bot

Authorizations
X-Admin-KeystringRequired

Admin API key

Responses
chevron-right
200

Bot status

application/json
codeintegerOptional
get
/bot/status

Last updated