Everything below on one page: REST, MCP, limits and the data dictionary. Copy it into an agent and it can call the API without any further instruction.
The API serves the same data the site shows: actors, the wallets that belong to them, their positions, the raw fills behind those positions, pre-break hits, tracked entries, and a nightly stats rollup.
It is read-only. There is nothing to write, nothing to trade through, and no endpoint that changes anything on your account.
Every field is an observation about trading patterns. Tier 4 means corroborated by two independent kinds of evidence. Nothing here is a claim about what anyone knew.
Base URL https://onchaininsider.leveledai.com/api/v1. Every actor route takes an actor number in the path, and any actor number works. There is no special one. You can read a number off the site's URL when you open an actor (?actor=1042), or call GET /actors to list them ranked and pick from there.
# ACTOR_ID is any actor number, e.g. the 1042 in ?actor=1042 on the site.
curl -H "Authorization: Bearer YOUR_KEY" \
https://onchaininsider.leveledai.com/api/v1/actors/ACTOR_IDThe MCP server lives at https://onchaininsider.leveledai.com/api/v1/mcp. It speaks Streamable HTTP and authenticates with the same key.
Once it is connected your agent can pull any actor it likes. Swap <ACTOR_ID> below for the number you are interested in, which is the actor value in the site's URL when you open one:
If you do not have a number in mind, skip it. list_actors returns the ranked list, so the agent can find its own candidates and then go deeper on whichever ones look interesting:
No actor number is special. Every tool that takes an `actorId` accepts any id the API knows about, and an unknown one comes back as a plain 404 rather than an error your agent has to guess at.
claude mcp add --transport http onchaininsider \
https://onchaininsider.leveledai.com/api/v1/mcp \
--header "Authorization: Bearer YOUR_KEY"Use the onchaininsider tools to profile actor <ACTOR_ID>: sizing, win rate
by domain, timing, and what it did before price breaks. Treat everything as
pattern observation, not a claim about what anyone knew.Use the onchaininsider tools. List the top tier 4 actors, then profile
the three with the highest win rate. Tell me which actor numbers you picked.| endpoint | what it returns |
|---|---|
| GET /me | your key, tier, limits and today's usage |
| GET /actors | ranked actor list (minTier, set, limit, cursor) |
| GET /actors/{id} | profile, wallets, funding, summary |
| GET /actors/{id}/stats | nightly rollup: sizing, performance, timing, activity, domains, pre-break |
| GET /actors/{id}/positions | positions across all wallets (status, domain, market, cursor) |
| GET /actors/{id}/trades | raw fills (from, to up to 90 days, market, side, cursor) |
| GET /actors/{id}/hits | positions opened in front of a price break |
| GET /actors/{id}/activity | tracked entries with condition signals |
| GET /wallets/{address} | one wallet: score, actor membership, totals |
| GET /markets/{id} | market metadata and its breaks |
| GET /openapi.json | the spec, no key needed |
Pages carry page.nextCursor; pass it back as cursor. Limit is 200 per page, 500 for trades.
API access starts at Plus. A Starter account can sign in and use the site, but cannot create keys or call /api/v1. Limits are per account across all of your keys, so extra keys never add budget.
| limit | Starter | Plus | Pro Trader |
|---|---|---|---|
| Requests per minute | no access | 120 | 300 |
| Rows per day | no access | 500,000 | 5,000,000 |
| Concurrent requests | no access | 4 | 8 |
| Keys | no access | 5 | 10 |
Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset and X-Rows-Remaining-Today. A refused request is HTTP 429 with Retry-After. Numbers are numbers, timestamps are ISO 8601, and responses are private, no-store.
| term | meaning |
|---|---|
| actor | A cluster of wallets assembled nightly from funding and behaviour edges. Ids are stable, and a merged actor forwards to its survivor. |
| wallet member | A wallet inside an actor, carried with a confidence that decays unless fresh evidence reinforces it. |
| tier 1 to 4 | How much evidence stands behind the actor. Tier 4 is corroborated by on-chain links. It is a ranking of evidence, not a verdict. |
| break | A large, persistent price move on a watched market. |
| hit | A position opened in front of a break, with the delta t and whether it was on the correct side. |
| activity entry | A tracked BUY that surveillance logged, with the per-condition signals that were true at the time. |
| expert score | A separate skill score. isExpert flags the expert set. |
| domainProfile | Positions per domain. |
Keys are personal and for your own analysis. Do not resell or republish the raw data.
The full terms are at /terms.
The same documentation is public at /developers, which is the page to send someone who does not have an account yet.