The onchain data layer

Stream, query and serveblockchain data.

Riverton indexes onchain data and serves it to your app over fast, reliable endpoints. Ship without running servers, parsing raw blocks, or building indexing infrastructure.

1.27T+
Queries served
75K+
Projects live
60+
Networks supported

Why Riverton

Infrastructure that gets out of your way

01

Build faster with zero servers

Create applications without running a data server, maintaining indexing infrastructure, or parsing raw blocks by hand.

02

Spend less on infrastructure

Cut monthly infra spend by tapping a competitive, decentralized data market instead of paying for always-on servers.

03

Stay online around the clock

Keep your app’s data flowing 24/7 on a globally distributed network of independent indexers with high availability.

Products

The standard for onchain data access

Index & query

Substreams

Compose real-time onchain data into any shape you need and stream it to your own sinks, databases, or pipelines.

Explore Substreams

Query & serve

Subgraphs

Query indexed data from your frontend with a simple GraphQL endpoint. The standard interface for reading onchain state.

Explore Subgraphs

Ecosystem

Web3 runs on Riverton

Tens of thousands of developers rely on indexed data to power best-in-class user experiences.

UniswapAaveLidoSnapshotENSDecentralandSynthetixCurveBalancerYearnMakerDAOGitcoinAragonRadicleLivepeerAudiusUniswapAaveLidoSnapshotENSDecentralandSynthetixCurveBalancerYearnMakerDAOGitcoinAragonRadicleLivepeerAudius
100+
Independent indexers
1.27T+
Queries served
75K+
Projects building

Coverage

60+ supported networks

View all networks
ETEthereum
ARArbitrum
POPolygon
BABase
OPOptimism
AVAvalanche
BSBSC
GNGnosis
ZKzkSync
LILinea
SCScroll
BLBlast
CECelo
FAFantom
MOMoonbeam
SOSolana
NENear
STStarknet
SESei
SUSui

How it works

From raw chain data to production in three steps

01

Define your data

Point Riverton at the contracts and events you care about. We index them into a structured, queryable form.

specVersion: 0.0.4
schema:
  file: ./schema.graphql
mapping:
  handlers:
    - event: Transfer(indexed address,indexed address,uint256)
      handler: handleTransfer
02

Query with GraphQL

Read organized data with simple, declarative queries. No custom backend, no block parsing, no RPC babysitting.

{
  transfers(first: 5, orderBy: timestamp) {
    from
    to
    value
    timestamp
  }
}
03

Serve your app

Ship data straight into your frontend in milliseconds. Scale from prototype to production without re-architecting.

const { data } = await client.query({
  query: TRANSFERS,
  variables: { first: 5 },
});
render(data.transfers);

Build on data that never sleeps

Start querying in minutes. No servers, no infrastructure, no waiting.