API Reference
Simple
Convenience price lookups.
Every endpoint here authenticates with X-API-Key, answers in the standard envelope and fails with the standard error body.
Get latest prices for stable asset IDs
https://api.cantoncap.cc/v1/simple/priceParameters
idsstringqueryrequiredOne to 100 distinct stable CantonCap asset IDs, comma-separated. Unknown and unpublished IDs are omitted without revealing private records.
convertstringqueryoptionalOne ISO-style quote currency code, or a comma-delimited set where the operation explicitly documents a bounded collection.
If-None-MatchstringheaderoptionalReturn 304 when this entity tag matches the current representation.
Request
curl -s "https://api.cantoncap.cc/v1/simple/price?ids=ast_515c3eaa72bd4a8b9403297879d78ef6,ast_2d9c41e0b7a64f1e9c3b5a8d7e6f1c20&convert=USD" \
-H "X-API-Key: $CANTONCAP_API_KEY"Response
200 Latest prices keyed by stable asset ID. 304 when If-None-Match matches.
{
"status": {
"timestamp": "2026-10-11T14:00:00.000Z",
"elapsed_ms": 18,
"error_code": 0,
"error_message": null,
"request_id": "req_7Hk2pQ9xLm"
},
"data": {
"ast_515c3eaa72bd4a8b9403297879d78ef6": {
"USD": {
"price": "0.1584",
"last_updated_at": "2026-10-11T14:00:00.000Z"
}
}
}
}datamap3 child fields
{asset_id}mapOne entry per requested asset ID the API can price, keyed by currency code. IDs it cannot answer for are left out.
2 child fields
pricedecimal stringPrice as an exact decimal string.
last_updated_atdate-timeTime of the latest represented update. For calculated asset prices it is the stored calculation time. Decide acceptable age from it.
Headers
X-RateLimit-LimitRequests allowed in the current one-minute window.X-RateLimit-RemainingRequests left in the window.X-RateLimit-ResetUnix time, in seconds, when the window resets.ETagEntity tag of this representation. Send it back in If-None-Match.Cache-Controlprivate, no-cache: shared caches must not store the answer.VaryX-API-Key: the answer varies by key.
Errors
| Status | Code | When |
|---|---|---|
| 400 | invalid_request | Request validation failedA parameter is malformed, out of bounds or not one of its allowed values. |
| 401 | unauthenticated | A valid API key is requiredX-API-Key is missing or unknown. |
| 403 | forbidden | The API key does not resolve to an active planThe key expired, was suspended or has not started. |
| 429 | rate_limited | The request rate limit was exceededThe key's one-minute window is used up. Retry after Retry-After seconds. |