Indexing / Data·EVM · Solana · Sui · Aptos · Multi-chain
Sentio
Decentralized data and compute platform combining custom indexing, observability, analytics, and alerting. Author processors in TypeScript with `@sentio/sdk`, deploy to Sentio Cloud, and query metrics, event logs, and SQL.
- 01custom indexers with built-in dashboards
- 02protocol monitoring and alerting
- 03metrics + logs + SQL in one stack
- 04Aptos, Sui, and Solana indexing
- 05debugging onchain anomalies
- pnpm add -g @sentio/cli
- pnpm add @sentio/sdk
- sentio create
| Variable | Scope | Description |
|---|---|---|
| SENTIO_API_KEY | Server | API key from app.sentio.xyz. Used by the CLI (`sentio login`) and for the Data API. Server-side only. |
Scaffold a processor with `sentio create`, then in `src/processor.ts` import the chain-specific module and bind a contract: `ERC20Processor.bind({ address: '0x...', network: EthChainId.ETHEREUM }).onEventTransfer(async (event, ctx) => { ctx.eventLogger.emit('transfer', { from: event.args.from, value: event.args.value }); ctx.meter.Counter('transfers').add(1) })`. Build with `sentio build` and deploy with `sentio upload`. Query metrics from the dashboard or via the Data API: `POST https://app.sentio.xyz/api/v1/metrics/query` with `Authorization: Bearer ${SENTIO_API_KEY}`. For raw logs use the GraphQL/SQL endpoints exposed per project.
- ⚑Free tier caps daily compute-units and dashboard seats — high-traffic protocols with many contracts can exhaust the quota mid-month; budget by event volume, not contract count.
- ⚑Event handlers run before block-interval handlers, ordered by log index — long-running async work (RPC reads, external API calls) inside a handler stalls the whole pipeline; use `ctx.client` cached calls or move work to interval handlers.
- ⚑Multi-chain support is broad (EVM, Solana, Sui, Aptos, Starknet) but each uses a different processor class and SDK module — `@sentio/sdk/eth` is not interchangeable with `@sentio/sdk/sui`; verify the import for your chain.
- ⚑Schema drift: changing event signatures or metric names requires a redeploy and may invalidate historical dashboards; version your processor and prefer additive changes.
- ⚑`docs.sentio.xyz` blocks unauthenticated bots aggressively (HTTP 403 on raw text fetches) — for AI tooling, prefer the GitHub-hosted SDK README at `sentioxyz/sentio-sdk` over scraping the docs.