Endpoints
Account
Balances valued in USD, and the swap and order history of an address.
https://api.lane.markets/v1local instance: http://localhost:3000/v1Native and token balances, valued in USD
/v1/portfolioQuery parameters
owneraddressrequired
Responses
200Portfolio
owneraddresstotalUsdnumbertokensobject[]tokens[].addressstringtokens[].symbolstringtokens[].namestringtokens[].decimalsintegertokens[].balanceuint stringtokens[].pricenumber | nulltokens[].usdnumber | null
curl "https://api.lane.markets/v1/portfolio?owner=0xYourAddress"Swaps and order lifecycle events of an address
/v1/historyQuery parameters
owneraddressrequiredlimitintegerdefault 50
Responses
200History, newest first
owneraddressitemsobject[]items[].type"Swapped" | "OrderCreated" | "OrderFilled" | "OrderCancelled"requireditems[].txstringrequireditems[].blockuint stringrequireditems[].timeintegerrequiredBlock timestamp (s)
curl "https://api.lane.markets/v1/history?owner=0xYourAddress"Average-cost PnL, positions, calendar, distribution, equity curve
/v1/portfolio/pnlQuery parameters
owneraddressrequired
Responses
200PnL
summaryobjectpositionsobject[]calendarobject[]distributionobject[]equityobject[]notesstring[]
curl "https://api.lane.markets/v1/portfolio/pnl?owner=0xYourAddress"Token transfers (explorer API), swap legs flagged
/v1/portfolio/transfersQuery parameters
owneraddressrequiredlimitintegerdefault 50
Responses
200Transfers
itemsobject[]sourcestring | null
502Explorer API unavailable
curl "https://api.lane.markets/v1/portfolio/transfers?owner=0xYourAddress"Order notifications, newest first
/v1/notificationsQuery parameters
owneraddressrequiredsinceintegerdefault 0Last id seen
limitintegerdefault 50
Responses
200Notifications
itemsobject[]items[].idintegeritems[].tsintegeritems[].type"order_created" | "order_filled" | "order_completed" | "order_cancelled" | "order_expired" | "dca_skipped"items[].orderIdstring | nullitems[].txstring | nullitems[].dataobject
curl "https://api.lane.markets/v1/notifications?owner=0xYourAddress"WebSocket: send {"owner": "0x…"}, receive {"notification": {...}}
/v1/ws/accountResponses
101Switching protocols
const ws = new WebSocket("wss://api.lane.markets/v1/ws/account");
ws.onopen = () => ws.send(JSON.stringify({ subscribe: ["HYPE", "0x7D29d8047B905000459c0E80c34a26CeedcB47b2"] }));
ws.onmessage = (event) => console.log(JSON.parse(event.data).prices);