Sign Up, About, Docs, Query

Index Supply

A New Way to Index Ethereum

It's Simple

There is no indexing step because the entire chain is already indexed.
Any Event. Any Query. Instant results.

↑ Event Signature ↓ SQL Query

Instantly access indexed data.

It's Fast

Our entire stack is dialed for performance. Your queries will be fast:

It's Live

Any query can be turned into a Live Query. Keep your end-user's browser in sync.

It's an API

A simple JSON over HTTP API that is fast and easy to use.

% curl -G https://api.indexsupply.net/query \
    --data-urlencode 'chain=8453' \
    --data-urlencode 'query=select "from", "to", tokens from transfer limit 1' \
    --data-urlencode 'event_signatures=Transfer(address indexed from, address indexed to, uint tokens)' \
    | jq .

{
    "block_height": 18479546,
    "result": [[
        [
            "from",
            "to",
            "tokens"
        ],
        [
            "0x0000000000000000000000000000000000000000",
            "0xdaabdaac8073a7dabdc96f6909e8476ab4001b34",
            "0"
        ]
    ]]
}
                    

It's Powerful

Harness the power of SQL with JOINS, SUM, MAX, WHERE, and much more!

SELECT t1."to", t1.tokenId, t1.block_num
FROM transfer t1
-- JOIN transfer to itself
-- and match each row on the left
-- with a row on the right based
-- on: address and tokenId and
-- where the table on the right has a higher
-- block_num than the table on the left.
-- If there is no row with a block_num that is higher
-- the right side of the join will be null.
-- This means that we have the "latest" transfer
-- of the token and the "to"
LEFT JOIN transfer t2
ON    t1.address   = t2.address
AND   t1.tokenId   = t2.tokenId
AND   t1.block_num < t2.block_num
WHERE t1.address   = 0xE81b94b09B9dE001b75f2133A0Fb37346f7E8BA4
AND   t2.tokenId   is null
                    

It's Low Cost

We engineered a system that keeps cost low and we pass the savings on to you!

Get Started

Sign up for an account and start making queries today!