Turnstile offline · ETHOnline 2026

A market where an AI agent finds a data seller, pays per query, and spends inside a limit it cannot raise.

Overview

AI agents can now register themselves on chain under ERC-8004. I read a sample of 197 registrations from short block windows on Base, Ethereum mainnet and Sepolia (Base alone has about 85,000) and asked each one question: can a buyer's program learn what this agent costs before it pays? Two could, but neither through the standard, because the registration format has no price field by design. Agents can find each other but there is no standard way for finding out how much does an agent service or product costs.

Turnstile is my answer, built solo for ETHOnline 2026. A seller publishes a priced service at an ENS name. We use the resolver record as the offer: price, payment rails and endpoint, read from the chain on every request. A buyer's agent finds the seller's endpoint, gets a 402 Payment Required, pays per query in HBAR on Hedera or USDC on Arc, and gets its answer. To make the project live end to end I created a Uniswap liquidity analyst agent that answers "is this pool safe to LP?" for seven cents. This is useful because a high TVL pool can still have very low liquidity and therefore be unable to fill trades. Just checking TVL on a regular indexer can be misleading.

For example, ranked by TVL, the top pool on the subgraph I built was a fake USDT holding two trillion of itself, and it couldn't fill a $1,000 trade. The analyst charges for the gap between what an index reports and what a trade can do.

Registration authority is split three ways: a cold operator key owns the ENS name, a warm organisation wallet funds the agent, and a hot agent key signs payments inside a mandate and nothing else. The hot key can't raise its own limit, and neither can any one operator. Its attempt to move the payout address reverts on Sepolia, Privy only accepts a cap raise only with two signatures, and the agent never sends a transaction itself.

Key features

The offer lives in the ENS record
The endpoint and the link to the agent's ERC-8004 registration use the standard ENSIP-26 and ENSIP-25 keys, and price and rails sit in `turnstile:` keys beside them, all on the seller's name and read live on every page load while it ran, so nobody had to trust Turnstile to get a price quote
Pay per query on two chains
The same request settles over x402 on Hedera (0.84 HBAR, about $0.07, no gas for the buyer) or as a gasless USDC nanopayment batched on Arc.
The key that spends can never raise its own limit
A 1-of-2 operations quorum owns the wallet, a 2-of-2 board quorum owns the spending policy, and the agent key signs offchain only.
Sell the answer, keep the method
The analyst's scoring is a Chainlink CRE confidential workflow that returns the verdict, the confidence and a hash of the evidence, never the calibration.

Built with

All projectsEverything on GitHub