Private RPC for five chains
Every RPC call leaves a trace.
Your node provider sees the wallet, the IP and the timing of every query. That is your strategy, logged.
Private RPC for five chains
Your node provider sees the wallet, the IP and the timing of every query. That is your strategy, logged.
Fund a private note on Ethereum once. Zero-knowledge proofs pay for access, not an account.
Each session gets a short-lived, spend-capped key. It expires on its own and settles from your private balance.
One private balance, five chains, standard JSON-RPC. Point your bot at it and keep the rest to yourself.
The problem
Every time a wallet opens, it sends your IP and every address you own to a company you never chose. ZEROTRACE cuts that line, then gives you free tools to see and fix everything else that leaks.
Start with the free checks. One free key then unlocks the rest. No email, about thirty seconds.
Live
The token of the ZEROTRACE network. Fixed supply, no minting, launched on a Uniswap V4 pool.
Endpoints
Standard JSON-RPC. Batch calls work. Your key rides in the header or in the URL, whichever your bot prefers.
Deposit ETH into the ZEROTRACE vault on Ethereum. Your balance becomes a private note that only your device can spend.
Your browser or bot builds a Groth16 proof that a funded note covers the session, with a one-time nullifier. No wallet, no account, no email.
The operator verifies the proof and mints an RPC key with a dollar cap and an expiry. It lives only in your memory.
When the key expires, actual usage is deducted and your note rolls forward to a fresh, unlinkable state. Withdraw the rest any time.
Honest boundaries
The provider kit turns any HTTP API into a zkAPI destination: key provisioning the operator understands, per-request metering, and refunds on upstream failure. Keys are stored as hashes. Callers are never logged.
// Cloudflare Worker, Hono, Bun or Node 18+ import { zeroTrace, SqlKeyStore } from "@zerotrace/provider-kit"; const zt = zeroTrace({ store: new SqlKeyStore(env.DB), managementKey: env.MANAGEMENT_KEY, basePath: "/api", price: () => 0.0001, // USD per request }); export default { fetch: (req) => zt(req, myApi) };

Read straight from the infrastructure, not typed by hand.
No. ZEROTRACE runs a fork of zkAPI, the open protocol by Open Anonymity and the Ethereum Foundation, which is itself experimental. Deposit only what you can afford to lose.
Notes expire 30 days after deposit. Withdraw or roll your balance before then. An expired, unclaimed note can be swept to the treasury by the vault rules.
Yes. Any client that speaks JSON-RPC over HTTPS works: viem, ethers, web3.py, @solana/web3.js. Put the key in the URL path if your library cannot set headers.
Each chain has several upstream nodes. The gateway fails over automatically and refunds the call if every node fails.
Yes: ZEROTRACE ($ZKTRACE), 1,000,000 fixed supply, trading on Uniswap V4 with a 2% buy and sell tax. Contract 0xa3fD09E53B90d3779829F7D26FBD60c24C3e9B85. Ignore any other address.