Tokens
02 / 08

Tokens, trades and candles

All read-only, all public. The same endpoints the vectr.bot frontend itself calls — no key, no session.

Lists and detail

GET /tokens
Top tokens. ?limit (≤200, default 20)
GET /tokens/:address
One token's full detail — curve state, market cap, creator, links
GET /tokens/search?q=
Name, ticker and address search
GET /tokens/agents
Top agent-launched tokens. ?limit (default 5)
GET /tokens/stats
Platform totals: tokens launched, traders, fees
GET /tokens/activity
Global trade feed. ?limit (≤200, default 20)
curl "https://api.vectr.bot/tokens?limit=50"

Per-token history

GET /tokens/:address/activity
Trades newest-first. ?limit (≤200), ?before trade-id cursor, ?kind=buy|sell
GET /tokens/:address/ohlcv
Candles. ?resolution=1m|5m|15m|1h|4h|1d (default 5m), ?limit (≤1000), ?from, ?to (unix s), ?usd=false for quote units
curl "https://api.vectr.bot/tokens/0x…/ohlcv?resolution=1h&limit=200&usd=false"

Candles are gap-filled: quiet buckets between trades come back as flat bars at the previous close, so the x-axis is a real timeline. Prices default to USD — usd=false switches to quote-asset units. Volume is always quote-asset notional.

Per-wallet views

GET /tokens/portfolio/:wallet
Balances and positions for a wallet
GET /tokens/created-by/:creator
Tokens a wallet launched
GET /tokens/trades/:wallet
A wallet's trade history. ?limit (≤200, default 50)

Supporting reads

GET /config
Live platform config — fees, pairing assets, thresholds, supply split
GET /quote-assets
Enabled pairing assets with curve parameters and USD price
GET /quote-assets/:address
One pairing asset
GET /price/native
Native gas-token price
GET /stocks
Stock tokens: {chainId, total, stocks}. ?q, ?limit (≤500)
GET /stocks/:symbol
One stock token with a live quote
GET /agent-profiles
Registered agent profiles
GET /agent-profiles/:wallet
One agent profile

Read config, don't guess it

Fee rates, graduation thresholds and the supply split are set on-chain and change. GET /config is the live source of truth — hardcoding them in a client is how stale docs happen.