API Overview
Every TokenKit API endpoint at a glance
TokenKit is a token launchpad on Starknet. The API ships alongside it and gives you a clean way to read token data, manage Keon wallet plumbing, look up dApps, and check domain reputation.
This page is the index. Open it first, then jump to whichever group you need.
Getting set up
| Page | What's inside |
|---|---|
| Getting Started | Base URL, your first call, address format |
| Authorization | The api-key header, bearer tokens, errors |
| API Keys | Mint and manage keys (most people use the dashboard) |
Token data
Accounts
| Method | Path | What it does |
|---|---|---|
GET | /api/accounts/ | List wallets we've indexed |
GET | /api/accounts/{id}/ | One wallet, with current holdings |
See Querying accounts and Single account.
Tokens
| Method | Path | What it does |
|---|---|---|
GET | /api/tokens/ | List tokens (filter by address, search, is_erc20, verified, ...) |
GET | /api/tokens/{id}/ | One token's details |
See Tokens.
Transfers
| Method | Path | What it does |
|---|---|---|
GET | /api/transfers/ | Filtered transfer log |
GET | /api/track-transfers/ | Walk the transfer graph outward from an (account, token) |
See Querying transfers and Tracing transfers.
Balances
| Method | Path | What it does |
|---|---|---|
GET | /api/balance/ | Current balance for one (account, token) |
POST | /api/balances/ | Batch lookup for up to 20 pairs (JSON body) |
GET | /api/account-balances/ | Every indexed balance for one account |
GET | /api/balance-history/ | Per-event balance history within a time range |
See Balances and Balance history.
Portfolio
| Method | Path | What it does |
|---|---|---|
GET | /api/portfolio/ | Total USD at a point in time, per-token breakdown |
GET | /api/portfolio-history/ | Bucketed total USD over time |
See Portfolio and Portfolio history.
Prices
| Method | Path | What it does |
|---|---|---|
GET | /api/price/ | Current USD price |
GET | /api/price-at/ | Price at a specific time |
GET | /api/price-history/ | OHLC time series |
See Prices.
NFT metadata
| Method | Path | What it does |
|---|---|---|
GET | /api/nft/metadata/ | One NFT |
GET | /api/nft/collection/ | NFTs in a collection |
GET | /api/nft/owner/ | Current owner of one NFT |
GET | /api/nft/owned-by/ | All NFTs an account holds |
See NFT metadata.
Indexer status
| Method | Path | What it does |
|---|---|---|
GET | /api/indexer/progress/ | Per-chunk indexer progress |
See Indexer progress.
dApps and reputation
dApps Directory
| Method | Path | What it does |
|---|---|---|
GET | /api/dapps/categories/ | List categories |
GET | /api/dapps/categories/{slug}/ | One category |
GET | /api/dapps/apps/ | List dApps |
GET | /api/dapps/apps/{slug}/ | One dApp |
GET | /api/dapps/apps/search/ | Search dApps |
GET | /api/dapps/discover/ | Featured + recent + popular bundle |
GET | /api/dapps/category/{slug}/ | dApps in a category |
See dApps Directory.
Domain Reputation
| Method | Path | What it does |
|---|---|---|
GET | /api/dapps/domains/ | List flagged domains |
GET | /api/dapps/domains/{id}/ | One domain |
GET | /api/dapps/domains/blacklist/ | Blacklist only |
GET | /api/dapps/domains/whitelist/ | Whitelist only |
GET | /api/dapps/domain-check/ | Check one domain |
GET | /api/dapps/domain-reports/ | List reports |
POST | /api/dapps/domain-reports/ | Submit a report |
GET | /api/dapps/domain-reports/{id}/ | One report |
See Domain Reputation.
Ads
| Method | Path | What it does |
|---|---|---|
GET | /api/dapps/ads/ | Fetch active ads for a placement |
POST | /api/dapps/ads/{ad_id}/impression/ | Record an impression |
POST | /api/dapps/ads/{ad_id}/click/ | Record a click |
See dApps Directory.
Wallet plumbing
Account Class Hashes
| Method | Path | What it does |
|---|---|---|
GET | /api/dapps/account-class-hashes/ | List class hashes |
GET | /api/dapps/account-class-hashes/{id}/ | One class hash |
GET | /api/dapps/account-class-hashes/latest/ | Latest per account type |
See Account Class Hashes.
Keon Wallets Directory
| Method | Path | What it does |
|---|---|---|
GET | /api/dapps/keon-wallets/ | List Keon wallets |
POST | /api/dapps/keon-wallets/ | Register a wallet |
GET | /api/dapps/keon-wallets/{id}/ | One wallet |
GET | /api/dapps/keon-wallets/stats/ | Aggregate stats |
POST | /api/dapps/keon-wallets/{id}/update_activity/ | Update activity counters |
GET | /api/dapps/keon-wallet-lookup/ | Look up by address |
Encrypted Sync (Keon)
| Method | Path | What it does |
|---|---|---|
GET | /api/keon/sync/{lookup_hash}/ | Retrieve encrypted blob |
PUT | /api/keon/sync/{lookup_hash}/ | Store / update blob |
Webhooks
| Method | Path | What it does |
|---|---|---|
GET / POST | /api/webhooks/ | List your webhooks / create one |
GET / PATCH / DELETE | /api/webhooks/{id}/ | Manage one webhook |
POST | /api/webhooks/{id}/test/ | Send a test delivery |
POST | /api/webhooks/{id}/rotate-secret/ | Rotate the signing secret |
GET | /api/webhooks/{id}/deliveries/ | List delivery history |
See Webhooks.
List endpoints want at least one filter (e.g. account_address, token_address, txhash, block, search). Calling a list endpoint with nothing returns 400 Bad Request with a helpful allowed_filters array. That's on purpose - it stops you from accidentally scanning the whole table.