Skip to content

GuidesAPI at a glance

Getting started

API at a glance

curl "https://api.lane.markets/v1/quote?in=HYPE&out=0x7D29d8047B905000459c0E80c34a26CeedcB47b2&amount=1000000000000000000&recipient=0xYourAddress"

One call returns the best route, the exact expected output, minOut, and a simulated transaction to sign.

Base URL and versioning

Base URLhttps://api.lane.markets/v1 (local: http://localhost:3000/v1)
Live testnet instancehttps://api-production-7070.up.railway.app/v1 (Railway; /quote and orders answer 503 until the contracts are deployed)
Versionv1, in the path. Breaking changes go to /v2; /v1 keeps working
Unversioned paths/quote, /tokens, … are aliases of /v1/.... Integrations should use /v1
Specopenapi.yaml, also served live at GET /v1/openapi.yaml
FormatJSON over HTTPS GET; WebSocket for live prices
CORSConfigurable (CORS_ORIGINS), GET only; x-request-id and retry-after are exposed to browsers

Endpoints

EndpointWhat it doesNeeds
GET /v1/quoteBest route + exact quote + simulated swap txExecutor deployed
GET /v1/priceSpot USDC price of up to 100 tokens—
GET /v1/tokensSearchable token list with trust info—
GET /v1/tokens/{address}One token: metadata, price, honeypot/tax probe—
GET /v1/ordersOpen limit/DCA ordersOrderBook deployed
GET /v1/orders/createSimulated tx to place a limit order or DCAOrderBook deployed
GET /v1/orders/cancelTx to cancel an orderOrderBook deployed
GET /v1/portfolioBalances valued in USD—
GET /v1/historySwaps and order events of an addressExecutor deployed
WS /v1/ws/pricesLive price pushes—
GET /v1/pools, /v1/pools/stats, /v1/pools/{id}, /chart, /activityPools page and pool detail—
GET /v1/activity, WS /v1/ws/activityLive swaps, adds, removes—
GET /v1/candlesPrice chart (OHLC)—
GET /v1/statsAnalytics and landing numbers—
GET /v1/portfolio/pnl, /v1/portfolio/transfersPnL, positions, transfers—
GET /v1/notifications, WS /v1/ws/accountOrder notifications—
GET /v1/keys/challenge, POST /v1/keys, GET/DELETE /v1/keys/meSelf-serve API keys—
GET /v1/share/...Share cards (PNG) and share pages—
GET /v1/healthReadiness, last block, pool counts—
GET /v1/configChain id, public RPC, explorer—
GET /v1/openapi.yamlOpenAPI 3.1 spec—

Full details: API reference.

Capability matrix

CapabilityPublic (no key)Partner key
Quotes and swap transactions✅✅
Prices, tokens, token probe✅✅
Limit orders and DCA✅✅
Portfolio and history✅✅
Live prices (WebSocket)✅✅
Rate limitRATE_LIMIT_PER_MIN per IP (default 120/min)Per key (default 10× the public limit)
Rate-limit bucketClient IPThe key, from any IP

Every endpoint is open on the public tier; a key only changes the rate limit. See Access.

Conventions

TopicRule
AmountsDecimal strings in base units (wei). 1 HYPE = "1000000000000000000", 1 USDC = "1000000"
Native HYPEHYPE (case-insensitive). Also accepted: native, 0x0000…0000, 0xEeee…EEeE
AddressesAny case on input; checksummed on output
Basis pointsbps, 1 bp = 0.01%. slippageBps=50 = 0.5%
Pool feeIn hundredths of a bp, Uniswap style: 3000 = 0.3%, 10000 = 1%
PricesJSON numbers, USDC per whole token
Errors{ "error": "...", "requestId": "..." } with a 4xx/5xx status
Request idEvery response has x-request-id. Send your own ([A-Za-z0-9_.-]{1,64}) to correlate logs
Blockblock in a quote = the indexer's last processed block when the quote was made

Network

TestnetMainnet
ChainElysium testnetElysium
Chain id9980199901
Gas tokenHYPEHYPE
Config fileapi/networks/elysium-testnet.jsonapi/networks/elysium-mainnet.json (filled on launch day)

One API instance serves one network (NETWORK env). GET /v1/config tells clients which.

Next: Access and rate limits

lane.markets · Make the most of every move.