1. Run the starter app with sample data
You need Node.js 24 and npm. You do not need an account.2. Switch to live data
- Create an API key in API key settings. You need an active Centaur account with a verified email; see Get access. New keys include the
feed.readscope this app needs. - Copy
.env.exampleto.env.local. - In
.env.local, setCENTAUR_DATA_MODE=liveand setCENTAUR_API_KEYto your key. - Restart
npm run dev.
feed.read, the page shows an error. It never falls back to sample data.
3. Make it yours
Call the API directly
Every request goes tohttps://api.centaur.io/v2 with your key in the x-api-key header. Set the key in your terminal first:
Read and filter the feed
assetIds for the general feed. Add traderIds=42 to narrow to a trader. Different filters intersect. An empty results array means no matching activity. Look up IDs once during setup with Find IDs, not before every read.
The `assetClass` filter is not available in production yet. Do not rely on it until this note is removed.
assetClass=crypto or a comma-separated list of supported classes. It works alongside asset and trader filters.
Read the next page
Copymeta.nextCursor from the previous response and keep the same filters:
meta.hasMore is false. Do not read or change the cursor. To poll for new activity instead, see Partner feed.
Read asset positioning
`GET /v2/assets/positioning` is pending release. Use it only after it is available in your environment.
stats.read scope.
meta.missingAssetIds is unavailable.
Handle errors
Run curl with--include --fail-with-body to see the HTTP status, headers, and error body. In the TypeScript recipes, catch CentaurApiError to read status, code, requestId, and retryAfter. Network failures and timeouts keep their native errors. The client does not retry on its own.
401or403: check the key and its scopes.422: check your parameters.429or a temporary failure: wait forRetry-After, then retry.
Next steps
- Data reads: every read, its scope, and which one answers which question.
- Partner feed: pagination, polling for changes, and freshness.
- Webhooks: receive new activity instead of polling.
- API reference: every endpoint, parameter, and field.