Build on Passiv.
Passiv turns a Base wallet's public behavior into an anonymized, cohort-level profile that AI agents query and pay for over x402. Owners keep 80% of every query, settled in USDC. This guide covers connecting, querying, and earning.
Preview status: the network runs on synthetic cohorts today. The x402 oracle, SDK, and k-anonymity are live; real wallet indexing and live earnings ship with the mainnet data layer. Earning/withdraw described below applies to the live network.
Quickstart
Open the dashboard and connect a Base wallet (MetaMask, Coinbase, Phantom).
One gasless signature (SIWE) places you in an anonymized cohort of ≥ 50 wallets.
Agents query your cohort over x402. Your share accrues in USDC — withdraw anytime.
Connect & sign in
Passiv uses Sign-In with Ethereum (EIP-4361). Your wallet must be on Base — the dashboard switches the network for you before requesting the signature. No funds move and no gas is spent; the signature only proves wallet ownership.
1. Connect wallet → Base (chainId 8453) 2. Sign in with Ethereum → one signature, no gas 3. Session issued → cohort resolved (k ≥ 50)
Query the API · x402
Agents pay per query with the x402 HTTP payment standard — the request carries a USDC micropayment header and settles on Base in ~200ms. Queries return cohort-level signal only: never an address, transaction hash, or raw amount.
# 1) unpaid request → 402 with payment requirements
curl -i -X POST https://oracle.passiv.finance/v1/query \
-H "Content-Type: application/json" \
-d '{ "traderType": "swing", "minMonthlyVolumeUsd": 10000 }'
# HTTP/1.1 402 Payment Required
# { "x402Version": 1, "accepts": [{ "scheme": "exact", "network": "base",
# "asset": "0x8335…2913", "maxAmountRequired": "40000", "payTo": "0x…" }] }
# 2) retry with the signed X-PAYMENT header → 200
curl -X POST https://oracle.passiv.finance/v1/query \
-H "Content-Type: application/json" \
-H "X-PAYMENT: <base64 x402 payload>" \
-d '{ "traderType": "swing", "minMonthlyVolumeUsd": 10000 }'
# 200 OK — cohort-level only, never members/addresses
{ "cohortId": "swing-moderate", "k": 340, "suppressed": false,
"profiles": [ { "volumeBucket": "10k-100k", "reactivity": "fast", … } ] }TypeScript SDK
The SDK wraps the x402 handshake. You provide a payer (your USDC-on-Base wallet/facilitator) and call query() — it runs the 402 → pay → retry flow and enforces the k-anon floor numerically before returning.
import { createPassivClient } from "@passiv/sdk";
const passiv = createPassivClient({
baseUrl: "https://oracle.passiv.finance",
// wire an x402 wallet/facilitator (USDC on Base); returns the X-PAYMENT header
payer: async (req) => payWithX402(req),
});
// 402 challenge → pay → retry is handled inside query()
const cohort = await passiv.query({ traderType: "swing", minMonthlyVolumeUsd: 10_000 });
console.log(cohort.cohortId, cohort.k); // "swing-moderate" 340Earnings & payouts
The SDK above is the buyer (agent) side. As a wallet owner you don't run any code — you use the dashboard. Revenue splits 80% to wallet owners, 20% to the protocol, distributed across the cohort in proportion to each member's contribution. Balances accrue in USDC on Base and withdraw to your wallet once above the minimum.
Connect wallet → sign in (SIWE) → earnings accrue per query Owner share 80% (20% protocol) Distribution proportional across your cohort Withdraw USDC → your wallet on Base
Privacy & data controls
Preview status: the network currently runs on synthetic demo cohorts. Real wallet indexing, per-category enforcement, and revocation become active when the live data layer ships (see the whitepaper roadmap).
- Cohort-level only. Every response describes a group of ≥ 50 wallets — never an individual. Addresses and tx hashes are stripped before listing. (This k-anonymity floor is enforced server-side today.)
- You choose dimensions. Toggle the behavioral categories (trader type, risk, volume band, protocols, rhythm…) on or off from the dashboard.
- Revocation & deletion. Disconnect or disable categories from the dashboard; these controls become load-bearing on the live cohort network.
FAQ
Is my wallet address ever exposed?
No. Buyers only ever see cohort-level aggregates across ≥ 50 wallets. Your address, transaction hashes, and raw amounts never leave Passiv.
How do I get paid?
You keep 80% of every query that touches your cohort, paid in USDC on Base. Withdraw from the dashboard whenever your balance clears the minimum.
What is x402?
An HTTP-native micropayment standard. Agents attach a USDC payment to each request, settled on Base in ~200ms — no invoices, no accounts.
Do I have to do anything to earn?
No active work. Once the live network is running you connect, sign in, and Passiv indexes your public Base history and lists your anonymized cohort profile. (The network is in preview today — see the roadmap.)
Ready to see what your wallet earns?
Open the dashboard →
PASSIV