Cabal API
Última actualización: November 11, 2026
Read-only API for partner platforms (trading terminals, bots, dashboards). It exposes the theses published by the Cabal community: the trade idea, the token contract (CA), who wrote it and how the call has performed since. Show them in your product labelled as Cabal thesis, with a link back to the author.
Authentication
Every request needs an API key. Ask for one at contact@cabal.army. Send it in the Authorization header (or x-api-key). Keep it on your server: do not ship it in a public frontend.
curl https://cabal.army/api/v1/theses \ -H "Authorization: Bearer cabal_live_XXXXXXXXXXXX"
GET /api/v1/theses
Latest theses first. Only top-level theses that have a token contract are returned.
limit— 1 to 100 (default 50).cursor— pass thenextCursorof the previous page to get older items.null= no more.since— ISO date: only theses created after it. Best way to poll for new ones.contract— only theses about this token CA (e.g. to show them on a token page).handle— only theses by this Cabal user.
# New theses since your last poll curl "https://cabal.army/api/v1/theses?since=2026-11-11T14:00:00Z&limit=100" \ -H "Authorization: Bearer $CABAL_API_KEY" # Theses about one token curl "https://cabal.army/api/v1/theses?contract=<TOKEN_CA>" \ -H "Authorization: Bearer $CABAL_API_KEY"
Response:
{
"data": [
{
"id": "cm3x9k2ab0001",
"source": "cabal",
"url": "https://cabal.army/u/ericemprende",
"createdAt": "2026-11-11T14:02:11.000Z",
"content": "Dev doxxed, LP burned, community growing fast. Entry under 100K MC.",
"token": {
"contract": "So1aNaTokenMint11111111111111111111111111111",
"network": "solana",
"symbol": "CABAL",
"name": "Cabal",
"image": "https://…/logo.png"
},
"author": {
"handle": "ericemprende",
"name": "Eric",
"avatar": "https://…/avatar.png",
"profileUrl": "https://cabal.army/u/ericemprende",
"xHandle": "ericemprende",
"verified": true,
"isDev": true,
"trustScore": 87,
"trustVotes": { "up": 41, "down": 3 }
},
"entry": { "priceUsd": 0.0000912, "marketCapUsd": 91200 },
"performance": {
"peakMultiple": 4.2,
"currentMultiple": 2.7,
"checkedAt": "2026-11-11T18:30:00.000Z",
"final": false
},
"engagement": { "likes": 12, "replies": 4 }
}
],
"nextCursor": "cm3x9k2ab0001"
}GET /api/v1/theses/{id}
One thesis, as { "data": { … } }. Useful to refresh performance and engagement of a thesis you already show.
Fields
| id | Unique id of the thesis. Use it to de-duplicate. |
| source | Always "cabal". Show it as "Cabal thesis". |
| url | Link back to the author on Cabal. |
| createdAt | When it was published (ISO 8601, UTC). |
| content | Text of the thesis written by the author (plain text, may contain links). |
| token.contract | Token contract address (CA). Always present. |
| token.network | solana, base, ethereum, bsc or robinhood. |
| token.symbol / name / image | Token metadata when known, otherwise null. |
| author.handle / name / avatar | Who wrote it. avatar can be null (the user picked an emoji). |
| author.profileUrl / xHandle | Cabal profile and linked X account (null if none). |
| author.verified / isDev | Official verification by Cabal / the user is a project dev. |
| author.trustScore / trustVotes | Community trust (0-100) and raw up/down votes. |
| entry.priceUsd / marketCapUsd | Token price and market cap at the moment of the thesis (null if unavailable). |
| performance.peakMultiple | Highest price since the thesis ÷ entry price (e.g. 4.2 = 4.2x). |
| performance.currentMultiple | Last checked price ÷ entry price. |
| performance.checkedAt / final | Last check. After 30 days the result is frozen (final: true). |
| engagement.likes / replies | Likes and replies on Cabal. |
Limits and errors
120 requests per minute per key. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (seconds). Polling every 15–30 s with since is plenty.
401 missing_api_key/401 invalid_api_key— no key, wrong key or revoked key.400 invalid_since/400 invalid_cursor— bad parameter.404 not_found— that thesis does not exist (or has no token contract).429 rate_limited— waitretryAfterseconds.
Display guidelines
- Label them as “Cabal thesis” and show the author handle.
- Link the author to their Cabal profile (author.profileUrl).
- Theses are opinions of community members, not financial advice. Please say so in your UI.

