home

API

Account

Read your Seeryx account from code: cash, positions, open orders, activity, settled rounds, profit and loss, and the public profiles and leaderboard.

Overview

  • One read for the state. GET /api/account returns cash, positions and open orders from one consistent snapshot: the same object the WebSocket pushes on every change.
  • History is paged. /api/activity, /api/settled and /api/feed are newest first with a cursor. heads in the account snapshot tells you when there is something new to read.
  • Fees in your history. Each activity row has fee: positive for a taker fee you paid, negative for a maker rebate you received. /api/pnl sums both.
  • Public profiles. Anyone can read a trader's results, positions and trades; cash, deposits and open orders stay private.

Account endpoints

The signed-in account only. Money in USDC, shares with up to 4 decimals, prices in cents, times in Unix milliseconds.

GET/api/account

Cash, positions and open orders in one read

Signed in
Request
curl "https://seeryx.com/api/account" \
  -H "X-Auth-Token: $TOKEN"
Response
{ "positions": [{ "slug": "btc-updown-5m-1791916200", "side": "down", "shares": 50.3462, "cost": 18.126554 }],
  "orders": [{ "id": 25538, "slug": "btc-updown-5m-1791916200", "side": "down", "action": "buy", "shares": 10, "limit": 48, "createdAt": 1791916330045 }],
  "balance": { "available": 474.097965, "locked": 0, "total": 474.097965, "currency": "USDC" },
  "heads": { "activity": 116, "settled": null } }
  • One consistent snapshot, the same object the WebSocket pushes. heads are the newest activity and settled ids: when one changes, read /activity or /settled again.
GET/api/balance

Cash

Signed in
Request
curl "https://seeryx.com/api/balance" \
  -H "X-Auth-Token: $TOKEN"
Response
{ "total": 474.097965, "available": 474.097965, "locked": 0, "currency": "USDC" }
  • Open buy orders hold no cash; locked is always 0. See Trading for the cash rule.
GET/api/positions

Open positions

Signed in
Request
curl "https://seeryx.com/api/positions" \
  -H "X-Auth-Token: $TOKEN"
Response
[{ "slug": "btc-updown-5m-1791916200", "side": "up", "shares": 10, "cost": 4.665126 }]
  • cost is what the shares cost in USDC, fees and rebates included.
GET/api/orders

Open orders, newest first

Signed in
Request
curl "https://seeryx.com/api/orders" \
  -H "X-Auth-Token: $TOKEN"
Response
[{ "id": 25538, "slug": "btc-updown-5m-1791916200", "side": "down", "action": "buy", "shares": 10, "limit": 48, "createdAt": 1791916330045 }]
  • shares is what is still open; limit in cents.
GET/api/activity

Trades, splits, merges, payouts and cancels, newest first

Signed in
FieldTypeDescription
limitqueryoptionalnumberRows per page, 1-200
beforequeryoptionalnumberCursor: nextBefore of the previous page
pagedqueryoptional1Answer { items, nextBefore }; without it a plain array of the latest rows
slugqueryoptionalstringOne round or event market
prefixqueryoptionalstringOne market, e.g. btc-updown-5m-
Request
curl "https://seeryx.com/api/activity?paged=1&limit=50" \
  -H "X-Auth-Token: $TOKEN"
Response
{ "items": [{ "id": 116, "time": 1791916330063, "type": "buy", "slug": "btc-updown-5m-1791916200", "side": "up", "shares": 10, "price": 47, "amount": -4.665126, "pnl": null, "fee": -0.034874, "tx": "5Kq3...", "txStatus": "confirmed" }], "nextBefore": 116 }
  • type: buy, sell, split, merge, settle, void, cancel, expire or revert (a trade the program refused, undone). nextBefore null means the last page.
  • amount is the change of cash, fees included; fee is the taker fee paid (positive) or the maker rebate received (negative), null without one. tx is the Solana transaction that settled the row, with txStatus pending, confirmed or failed.
GET/api/settled

Settled positions, newest first

Signed in
FieldTypeDescription
limitqueryoptionalnumberRows per page, 1-200
beforequeryoptionalnumberCursor: nextBefore of the previous page
pagedqueryoptional1As in /activity
slugqueryoptionalstringOne round
prefixqueryoptionalstringOne market
Request
curl "https://seeryx.com/api/settled?paged=1" \
  -H "X-Auth-Token: $TOKEN"
Response
{ "items": [{ "id": 21, "slug": "btc-updown-5m-1791915600", "side": "up", "shares": 10, "cost": 4.7, "payout": 10, "outcome": "up", "settledAt": 1791915905877, "hedged": false }], "nextBefore": null }
  • One item is one round. A round held on both sides is one item: hedged true, side null, cost and payout of both sides together.
GET/api/feed

Trades and deposits or withdrawals in one list, newest first

Signed in
FieldTypeDescription
limitqueryoptionalnumber1-200, default 100
beforequeryoptionalstringCursor: next of the previous page
Request
curl "https://seeryx.com/api/feed?limit=50" \
  -H "X-Auth-Token: $TOKEN"
Response
{ "items": [{ "kind": "trade", "id": 116, "time": 1791916330063, "type": "buy", ... }, { "kind": "transfer", "id": 2, "time": 1791916168000, "type": "deposit", "amount": 500, "status": "completed", ... }], "next": "1791916168000:0:2" }
GET/api/pnl

Realized profit and loss, fees, win rate and a chart

Signed in
FieldTypeDescription
periodqueryoptional1D | 1W | 1M | ALLDefault ALL
fromqueryoptionalnumberInstead of period: start, Unix ms
toqueryoptionalnumberEnd, Unix ms, default now
bucketsqueryoptionalnumberChart points, 1-200, default 60
Request
curl "https://seeryx.com/api/pnl?period=1D" \
  -H "X-Auth-Token: $TOKEN"
Response
{ "from": 1791829989226, "to": 1791916389226, "realized": -3.110355, "breakdown": { "sell": 0, "merge": -3.110355, "settle": 0 },
  "events": 53, "trades": 13, "volume": 55.845724, "fees": { "paid": 0.354231, "rebates": 0.29792 },
  "closed": 3, "closedWins": 0, "winRate": 0, "series": [{ "t": 1791916330038, "value": -3.110355 }], "best": {...}, "worst": {...}, ... }
  • fees.paid is the taker fees you paid, fees.rebates the maker rebates you received. Up and Down held together in one round count as one position.
GET/api/transactions

Latest deposits and withdrawals

Signed in
FieldTypeDescription
limitqueryoptionalnumber1-200, default 50
Request
curl "https://seeryx.com/api/transactions" \
  -H "X-Auth-Token: $TOKEN"
Response
{ "transactions": [{ "id": 2, "type": "deposit", "currency": "USDC", "amount": 500, "status": "completed", "tx_hash": "4eCe...", "created_at": "2026-10-13 18:29:28", "completed_at": "2026-10-13 18:29:28" }] }
  • Times here are UTC text.
GET/api/rewards/liquidity

Your liquidity points and what your resting orders earn now

Signed in
Request
curl "https://seeryx.com/api/rewards/liquidity" \
  -H "X-Auth-Token: $TOKEN"
Response
{ "today": 3.25, "total": 41.8, "since": "2026-10-10", "last7": [{ "day": "2026-10-07", "points": 0 }, ...],
  "ratePerHour": 4.5, "scoringOrders": 3, "twoSidedMarkets": 1, "earns": true,
  "eligibleMarkets": [{ "label": "BTC 5 min", "market": "btc-5m" }, ..., { "label": "Event markets", "market": "events" }],
  "rules": { "maxSpreadCents": 3, "perDollarHour": 0.1, "twoSidedBonus": 0.5, "sampleSeconds": 60, "minRestSeconds": 60, "minValue": 5, "minShares": 5, "sideCap": 500 } }
  • The scoring is explained under Market making. Days are UTC.

Leaderboard and profiles

Public and read-only. A profile shows results, positions and trades; cash, deposits and open orders stay private.

GET/api/leaderboard

Top 100 traders by realized profit and loss

Public
FieldTypeDescription
periodqueryoptional1D | 1W | 1M | ALLDefault ALL
Request
curl "https://seeryx.com/api/leaderboard?period=1W"
Response
{ "period": "1W", "traders": [{ "rank": 1, "name": "satoshi_bot", "handle": "satoshi_bot", "address": "Cp8bSK...z3ji", "avatar": null, "pnl": 53.950184, "volume": 1084.342964, "trades": 542 }] }
  • Cached for 15 seconds.
GET/api/profiles

Find traders by name prefix or full wallet address

Public
FieldTypeDescription
qqueryrequiredstringsat, @sat or a wallet address
Request
curl "https://seeryx.com/api/profiles?q=sat"
Response
[{ "name": "satoshi_bot", "handle": "satoshi_bot", "address": "Cp8bSK...z3ji", "avatar": null }]
  • At most 6 rows.
GET/api/profiles/:handle

A trader

Public
FieldTypeDescription
handlepathrequiredstringUsername (any case) or the full wallet address
Request
curl "https://seeryx.com/api/profiles/satoshi_bot"
Response
{ "name": "satoshi_bot", "handle": "satoshi_bot", "address": "Cp8bSK...z3ji", "avatar": null, "joined": 1791138618000, "pnl": 29.216906, "volume": 1129.246924, "trades": 549, "openPositions": 0, "markets": 49, "rank": 1, "traders": 4 }
StatusWhen
404Unknown trader
GET/api/profiles/:handle/pnl

A trader's profit and loss (as /pnl)

Public
FieldTypeDescription
handlepathrequiredstringUsername (any case) or the full wallet address
periodqueryoptional1D | 1W | 1M | ALLDefault ALL
Request
curl "https://seeryx.com/api/profiles/satoshi_bot/pnl?period=1M"
GET/api/profiles/:handle/positions

A trader's open positions (as /positions)

Public
FieldTypeDescription
handlepathrequiredstringUsername (any case) or the full wallet address
Request
curl "https://seeryx.com/api/profiles/satoshi_bot/positions"
GET/api/profiles/:handle/activity

A trader's trades and payouts, without cancels

Public
FieldTypeDescription
handlepathrequiredstringUsername (any case) or the full wallet address
limitqueryoptionalnumberRows per page, 1-200
beforequeryoptionalnumberCursor: nextBefore of the previous page
Request
curl "https://seeryx.com/api/profiles/satoshi_bot/activity?limit=50"
GET/api/profiles/:handle/settled

A trader's settled positions (as /settled)

Public
FieldTypeDescription
handlepathrequiredstringUsername (any case) or the full wallet address
limitqueryoptionalnumberRows per page, 1-200
beforequeryoptionalnumberCursor: nextBefore of the previous page
Request
curl "https://seeryx.com/api/profiles/satoshi_bot/settled"