Chainlink covers ~1,000 tokens.

There are 500,000+ pairs.

Want a feed for your token? Get in line. Or pay $50–200K/year to sponsor one. We built something different.

Chainlink feeds (all chains)~0
On-chain trading pairs0+

500× more coverage

Tokens Chainlink will never support

Micro-cap DeFi tokensLP tokens & vault sharesNew launches (day-one feeds)Community tokensCross-chain bridged assetsRWA tokens without CEX listings

8 DEX types supported

Uniswap V2/V3Multi-block median
CurveStableSwap
Balancer V2Weighted
Solidly / AerodromeStable
Trader Joe LBActive bin
DODO PMMMid price
Algebra V3Camelot
Any V2 forkSushiSwap, PancakeSwap, ...

Three steps. That's it.

01

Read

Steel reads DEX pool state across a contiguous range of 10+ blocks inside the RISC Zero zkVM. The median price across the range is computed — manipulation of any single block has no effect. The range is configurable for stronger guarantees. Every read is cryptographically tied to actual on-chain state.

8 DEX types supported
02

Prove

Boundless computes the multi-block median price and generates a ZK proof. 73M cycles. $0.004 on the Boundless marketplace. Proven in 15s.

Outsourced to Boundless provers
03

Verify

A Solidity contract checks the proof on-chain (~250K gas) and stores the price. Safety checks enforce minimum samples, deviation limits, and block freshness. Your protocol calls latestRoundData() -- zero code changes.

Chainlink-compatible interface

Multi-block median. Can't flash-loan that.

We prove prices across a contiguous range of 10+ blocks and take the median. The range is configurable — use more blocks for stronger guarantees. Flash loans execute within a single block and cannot influence the median across a range.

To manipulate this feed, an attacker would need to sustain manipulation across >50% of sampled blocks while risking arbitrageurs correcting the price every block.

Other oracles choose which tokens get a feed.

Existing oracles curate a fixed list of pairs and gatekeep access behind vendor contracts, governance votes, or allowlists. If your token isn't on their list, you're out of luck.

ProviderPair coverageTrust model
ZK Price FeedAny DEX poolMathematics
~860 feeds4-31 node committee
Pyth~500 feedsWormhole guardians
RedStone~1,000 feedsSigner set
Chronicle~70 feedsSchnorr multisig

500K+

DEX pools exist on-chain. Every one of them is a feed you can deploy today — no proposal, no vote, no vendor.

~$0.004

Per ZK-proven update via the Boundless proving network. No LINK subsidies. No hidden vendor contracts. Transparent cost.

Math

ZK proofs verify prices from real on-chain state. No committee. No multisig. No guardians. A proof anyone can verify.

Add a ZK-verified second opinion to your existing oracle.

Same interface. Drop in as a backup or a replacement.

YourProtocol.sol
// Before
AggregatorV3Interface feed = AggregatorV3Interface(
    0x5f4eC3Df...5b8419  // Chainlink ETH/USD
);

// After
AggregatorV3Interface feed = AggregatorV3Interface(
    0x...  // ZK price feed -- proven by math
);

// Your code stays exactly the same
(, int256 price, , uint256 updatedAt, ) = feed.latestRoundData();
Chainlink
AggregatorV3Interface
Pyth
IPyth
Chronicle
IChronicle + IToll
RedStone
IRedstoneAdapter

We implement the standard interfaces from every major oracle provider. Use it as a circuit breaker alongside your primary feed — if the two disagree, pause. Or swap it in as your primary. Either way, one address change.

This is the simplest thing we can prove.

Reading prices from one pool is day-one functionality. The same framework proves arbitrarily complex computations -- all at the same on-chain gas cost.

Single pool median

Live

20-block median from any DEX pool

Multi-pool aggregation

Coming soon

Read 5 DEX pools across protocols, liquidity-weighted median

Cross-DEX price

Coming soon

Aggregate Uniswap + Sushi + Curve into a single feed

Composite index

Coming soon

Top-10 DeFi token index verified in one proof

LP token pricing

Coming soon

Fair value from underlying reserves, proven on-chain

On-chain volatility

Coming soon

Implied vol from price variance across blocks

On-chain verification cost is fixed regardless of complexity.

Whether the prover reads 1 pool or 50 pools, the proof is the same size. Only off-chain proving cost scales -- and at $0.05/billion cycles, a 10x bigger computation costs $0.04.

FAQ

Not yet. This is a template and POC. You deploy it for your pair. We don't operate feeds -- you run your own keeper or let anyone call updatePrice().

As fresh as the last keeper update. Proving takes ~15 seconds, then it's a normal on-chain transaction. If you run a keeper every 30 seconds, your price is never more than ~45 seconds old.

8 DEX types: Uniswap V2, Uniswap V3, Curve, Balancer V2, Solidly/Aerodrome, Trader Joe LB, DODO PMM, and Algebra V3 (Camelot/QuickSwap). Any V2 fork works out of the box.

Yes. We prove prices across a contiguous range of 10+ blocks and take the median. Flash loans execute within a single block — they cannot influence the median across a range. The range is configurable (use more blocks for stronger guarantees). An attacker would need to sustain manipulation across a majority of the range, risking arbitrageurs correcting the price every block.

Any EVM chain supported by Steel. Currently tested on Ethereum mainnet and Base. L2 support is straightforward -- and that's where the economics get really good ($0.01/update).

Yes. We implement AggregatorV3Interface. Change the feed address and everything else stays the same. Drop-in adapters also available for Pyth, RedStone, and Chronicle.

You do, or your protocol does, or an MEV searcher does (they need fresh prices for liquidations). It's permissionless -- anyone can call updatePrice().

Because we verify a ZK proof on-chain (~250K gas for Groth16). Pyth/RedStone verify signatures (~65-90K gas). The tradeoff: their security comes from trusting a committee. Ours comes from math.