Oasis Sapphire Data: Index the Confidential EVM
Index Oasis Sapphire's public events, token transfers, and decoded transactions in one pipeline, delivered to your own database. Real-time and complete historical data, no node to run.
Oasis Sapphire is the confidential EVM ParaTime on the Oasis Network, an EVM-compatible runtime where contract state is encrypted and smart contracts can compute over private data. It keeps the familiar Solidity and Web3 tooling but adds a confidentiality layer: contract storage is sealed, transaction calldata is end-to-end encrypted between the client and the runtime, and contracts get access to confidential randomness. ROSE is the native token that pays for gas. The result is a chain where a DEX, an identity registry, or an onchain game can hold secrets that a plain EVM would leak. You can read how the team frames it at oasis.net.
That confidentiality is exactly what makes Sapphire data unusual. Some of the chain is private by design, so you cannot index encrypted state or decrypt sealed calldata, and you should not pretend to. What you can index is everything a contract chooses to make public: the events and logs it emits, token transfers, and the public shape of its transactions. Indexing Co covers Sapphire in a single pipeline, decodes those public signals into the shape you want, and delivers them to your own PostgreSQL, warehouse, or webhook. Real-time and full history, with no node to operate.
Why Oasis Sapphire data is hard
What Indexing Co delivers for Oasis Sapphire
Stand up and maintain the whole stack yourself.
- Run a Sapphire ParaTime node or wire up a third-party RPC.
- Fetch and decode the public logs and receipts against the right ABIs.
- Track proxy upgrades and per-protocol event schemas by hand.
- Build backfill, reorg handling, and real-time delivery from scratch.
One pipeline sources, decodes, and delivers Sapphire's public data to your store.
- Sapphire contract events, token transfers, and decoded txs in a single pipeline.
- Decoded data, shaped by your JavaScript transform.
- Lands in your PostgreSQL, BigQuery, warehouse, or webhook.
- Real-time delivery plus complete backfilled history. No node, no RPC babysitting.
What you can index
| EVM data type | On Oasis Sapphire, for example |
|---|---|
| Contract events and logs | Emitted swap, mint, and settlement events from confidential contracts |
| Token transfers (ERC-20, ERC-721) | ROSE-denominated transfers, wrapped assets, NFT movements |
| Decoded transactions | Public transaction structure and value flows |
| Protocol and account state | Balances and positions reconstructed from public events |
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: decode the logs you care about and return rows for your destination.
// Indexing Co transform: reshape each block into rows for your database
function transform(block) {
const results = [];
const signatures = [
'event Transfer(address indexed from, address indexed to, uint256 value)'
];
for (const tx of block.transactions || []) {
for (const log of tx.receipt?.logs || []) {
const event = utils.evmDecodeLogWithMetadata(log, signatures);
if (!event) continue;
results.push({
chain: block._network,
block: Number(block.number),
tx_hash: tx.hash,
contract_address: log.address?.toLowerCase(),
from: event.decoded.from,
to: event.decoded.to,
value: event.decoded.value,
});
}
}
return results;
}
Oasis Sapphire with Indexing Co
You want full control of node infrastructure and have the team to operate a Sapphire ParaTime node, decode every protocol's emitted events, and build backfill and reorg handling in-house.
You want Sapphire's public contract events, token transfers, and decoded transactions delivered to your own database, with real-time plus complete history and no infrastructure to run.
Related Reading
- DeFi Data Infrastructure
- Subgraph Migration: Moving Off The Graph's Hosted Service
- Indexing Co vs Subgraphs
- Ethereum Data
FAQ
Do I need to run an Oasis Sapphire node?
No. Indexing Co sources Sapphire blocks, logs, and receipts for you, including full historical data, so you never operate a ParaTime node or babysit an RPC endpoint.
Can I index confidential state on Sapphire?
No, and neither can anyone else. Confidential contract state and encrypted calldata are private by design. What Indexing Co indexes is the public data a contract chooses to expose: the events and logs it emits, token transfers, and the public shape of its transactions.
Which Sapphire data is actually indexable?
Everything a contract makes public. Emitted events and logs are visible on-chain, so if a protocol emits an event for a swap, mint, or settlement, we decode it against the right ABI and deliver it. State that stays encrypted stays out of reach.
Where does the Oasis Sapphire data go?
Into your own destination: PostgreSQL, BigQuery, a warehouse, or a webhook. You define the output schema and own the storage.
Can I get complete historical Sapphire data?
Yes. We backfill the public event history from your chosen start block and merge it with real-time data, so your Sapphire dataset is gap-free forward from that point.
Get Started
Index Oasis Sapphire in minutes. Set up your first Sapphire contract or token pipeline without running a node.