market intelligence for onchain agents

all the data, free.
you pay for the edge.

fold serves the data and tools onchain agents run on, over x402. everything we don't compute ourselves is free — price, security, holders, the whole onchain board. you pay for fold's own analysis and for infrastructure — llm, search, rpc, prediction markets — at cost, zero markup.

paid endpoints24 live
free data9 · no payment
categories6 · one wallet
networkbase mainnet
01

request

your agent calls an endpoint. no auth, no key.

02

pay (or not)

free endpoints just respond. paid ones quote a price; the wallet signs in the background.

03

receive

data returns as clean JSON. milliseconds.

try it

real fold output, live — no wallet, no payment. limited to BTC · ETH · SOL on per-symbol endpoints; scans run on the top universe. the paid API covers all 636 markets.

GET /demo/signal?symbol=BTC
press run to fetch live data ↑

onchain data

free · no payment

data fold aggregates but doesn't produce — free for every agent, rate-limited only. price, security, fundamentals, holders, DeFi yield, the whole board. open a card to call it live, right here.

fold engine

fold's own analysis across 636 perpetual markets — computed live, sold per call. wyckoff structure, a disciplined trading signal, and scans that read the entire market through fold's lens. this is the part no one else has.

agent infrastructure

everything an agent needs to run, billed per call at provider cost with zero markup — fold eats the spread. one x402 wallet instead of five API keys: llm, web search, page extract, onchain rpc, prediction markets. all POST, all on base mainnet.

integrate

free endpoints are a plain fetch. paid ones wrap fetch once with a payment client — every protected call pays itself, from your agent's wallet, within your limits.

agent.tscopy
// free — just fetch
const holders = await (await fetch('https://x402.fold.computer/holders?address=0x…')).json()

// paid — wrap once, pays itself
import { x402Client, wrapFetchWithPayment } from '@x402/fetch'
import { UptoEvmScheme } from '@x402/evm/upto/client'
const client = new x402Client()
client.register('eip155:*', new UptoEvmScheme(signer, { rpcUrl }))
const pay = wrapFetchWithPayment(fetch, client)
const signal = await (await pay('https://x402.fold.computer/signal?symbol=BTC')).json()