Sui Data: Index Checkpoints, Transactions, and Balance Changes
Index Sui checkpoints, transaction status and gas, and per-transaction coin balance changes, delivered to your own database. Real-time and complete historical data, no Move indexer framework to run.
Sui is a non-EVM chain built in Move with an object-centric model. State does not live in contract storage mappings the way it does on EVM chains. Instead it lives in owned and shared objects, data is serialized with BCS (Binary Canonical Serialization), and contracts emit Move events. Transactions are batched into checkpoints, which are the unit you stream to follow the chain. See it in their words at sui.io.
That means indexing Sui is tracking objects, Move events, and transactions through checkpoints, not parsing EVM logs. Native tooling is Sui-specific: the sui-indexer-alt-framework in Rust, plus gRPC and GraphQL RPC for reads. Indexing Co streams Sui checkpoints with each transaction's status, gas costs, and coin balance changes, and delivers them to your own PostgreSQL, warehouse, or webhook. No Move indexer framework to run, no node to operate.
Why Sui data is hard
What Indexing Co delivers for Sui
Stand up and maintain the Sui indexing stack yourself.
- Write Rust pipelines on the sui-indexer-alt-framework.
- Stream checkpoints over gRPC and add a polling fallback for history.
- Deserialize BCS object and transaction bytes against Move layouts.
- Operate watermarks, backpressure, backfill, and delivery yourself.
Sui transactions and balance changes, shaped by you, delivered to your store.
- Every checkpoint's transactions with status, gas costs, and balance changes, as plain JSON.
- Shaped by your JavaScript transform, not a Rust pipeline.
- Lands in your PostgreSQL, BigQuery, warehouse, or webhook.
- Real-time delivery plus complete backfilled history. No framework, no node.
What you can index
| Checkpoint and transaction data | Coin and balance data |
|---|---|
| Checkpoint sequence and timestamp | Balance changes per transaction |
| Transaction digests | Owner address for each change |
| Success or failure status | Coin type (SUI and any other coin) |
| Gas: computation, storage, and rebate | Signed amounts, credits and debits |
A transform, not a subgraph
You write the transform in JavaScript, not AssemblyScript, and change it without re-indexing from block zero. Indexing Co runs your function over each block server-side: pick the transactions and balance changes you care about and return rows for your destination.
// Indexing Co transform: Sui balance changes per transaction
function transform(block) {
const results = [];
for (const tx of block.transactions || []) {
for (const change of tx.balanceChanges || []) {
results.push({
chain: block._network,
checkpoint: Number(block.sequence),
tx_digest: tx.digest,
status: tx.effects?.status?.status,
owner: change.owner?.AddressOwner || JSON.stringify(change.owner),
coin_type: change.coinType,
amount: change.amount,
});
}
}
return results;
}
Sui with Indexing Co
You want full control of Sui infrastructure and have a Rust team to operate the sui-indexer-alt-framework, checkpoint ingestion, BCS decoding, and your own database delivery.
You want Sui transactions, gas, and coin balance changes delivered to your own database, shaped by your JavaScript, with real-time plus complete history and no framework to run.
Related Reading
- DeFi Data Infrastructure
- Payments Data Infrastructure
- Subgraph Migration: Moving Off The Graph's Hosted Service
- Indexing Co vs Subgraphs
FAQ
What Sui data does Indexing Co deliver?
Each checkpoint with its transactions: digest, success status, gas costs (computation, storage, and rebate), and balance changes per owner and coin type. It arrives as plain JSON, so you do not deserialize BCS bytes yourself. If you need object or Move event data, talk to us.
Do I need to run the sui-indexer-alt-framework or a Sui node?
No. Indexing Co handles checkpoint ingestion for you. You do not stand up a Rust indexer pipeline, manage gRPC streaming and watermarks, or operate a full node.
How is indexing Sui different from indexing an EVM chain?
Sui is object-centric. Instead of parsing EVM logs against contract storage, you track objects, Move events, and transactions through checkpoints. Indexing Co hands your transform each checkpoint's transactions and balance changes as plain fields.
Can I get complete historical Sui data?
Yes. We backfill history from checkpoints and merge it with real-time data so your dataset is gap-free from your chosen start checkpoint.
Where does the Sui data go?
Into your own destination: PostgreSQL, BigQuery, a warehouse, or a webhook. You define the output schema in JavaScript and own the storage.
Get Started
Index Sui in minutes. Set up your first balance-change or transaction pipeline without running a node or the Move indexer framework.