Documentation

Traders and positions

Positions, the trade tape, the leaderboard, and the public bits of a profile.

Eight GET routes cover traders: open positions by address, the trade tape with its filters, the leaderboard paged by an opaque cursor with the house row beside it rather than in it, one address's rank, the public half of a profile, and batch lookups for names and crowns.

MethodPathAnswers
GET/positions/:traderEvery open position for one address.
GET/tradesThe trade tape. Filters below.
GET/leaderboardThe ranking, paged by cursor, with the house row beside it.
GET/leaderboard/rank/:traderOne address's standing. 404 if it has never traded.
GET/profile/:traderPublic profile: name and bio. Always 200, all null for a fresh address.
GET/namesBatch address to display name: ?addresses=a,b,c, up to 100 per call.
GET/crownsBatch address to visible crown count, same shape and cap.
GET/follows/:traderWho this trader follows. The reverse list is not served anywhere, on purpose.

The trade tape

symbol
One market.
trader
One address.
event_type
One of open, increase, decrease (closes and partial closes, triggers included), liquidation or deleverage.
before_id
Pages backwards. Pass the last id you saw.
limit
1 to 200, default 50.
GET https://win-trader.com/api/trades?symbol=BTCUSD&event_type=liquidation&limit=20

Paging the leaderboard

The board pages by an opaque cursor rather than an offset, and hands back an envelope: rows, the house beside them rather than among them, and next_cursor, which is null when the board ends. limit is 1 to 200, default 50.

The house row appears only on the first page. It is not a place in the ranking, and repeating it under every scroll would read as the Vault placing twice. Pass window=round to narrow the ranking to the running competition round instead of all time; the app itself shows the all-time board.