Live on Base · x402 v2

Orcpin is your agent's librarian.

The chain is the library — and a good librarian finds the record, tells you which sources to trust, and never misses a due date. Orcpin reads any wallet or DeFi position as block-anchored JSON, vets whether an x402 endpoint actually delivers before your agent pays it, and runs the trading-date math agents hand-roll wrong — holding periods, day-trade windows, T+1 settlement. Start free: search the x402 catalog by text, network and price with no wallet and no payment. Facts, not advice — per call in USDC, no accounts, no keys.

$0.02
Per wallet snapshot
$0.01
Per reliability check
Free
x402 resource search
x402
USDC, no accounts

Three Reads. One Rule: Facts, Not Advice.

Agents act on data, spend on APIs, and trade against calendars. Orcpin makes all three checkable: everything it returns is a measured value or transparent arithmetic — no custody, no predictions, no recommendations — with a machine-readable catalog at https://orcpin.dev/catalog and x402 payments built for autonomous callers.

📌

Read the Chain

Block-anchored wallet and DeFi snapshots — native and token balances, Aave v3 positions, and derived risk metrics like health-factor band and gas runway. Each response reports the exact block it was read from. See the formulas →

🛡️

Vet the Endpoint

Before your agent pays an x402 API, check whether it actually works: reachability, valid-402 rate, latency, and sampled paid delivery — measured by continuous, independent probing. Facts only, never a trust score or a "scam" label.

🗓️

Check the Trade

Deterministic trade-log math for trading agents: holding periods and gain character, day-trade counts in the rolling five-trading-day window, T+1 settlement dates — on a versioned NYSE calendar, with the governing rules quoted (IRC §1222, FINRA 4210, SEC 15c6-1), never applied. Counts and dates; the comparison is yours.

Three Lines, One JSON Contract

Read the Chain for the facts your agent acts on, Vet the Endpoint before it pays one, and Check the Trade before it places one. Every response is structured JSON — anchored, sourced, and disclaimed.

Read the Chain

information calls Wallet & DeFi state, block-anchored
Wallet Snapshot
GET /v1/wallet-snapshot?address=0x…
$0.02 · one address

Native and token balances plus account flags for a single wallet at the current block.

  • address, block_number, timestamp
  • account.is_contract — whether the address is a contract
  • account.transaction_count — outbound nonce
  • native_balance — ETH as wei + human formatted
  • token_balances[] — USDC & tracked ERC-20s (symbol, contract, raw, formatted, decimals)
  • derivedwallet_type, activity_tier, and gas_runway (transfers the balance can still pay for)
  • sources, disclaimer
DeFi Snapshot
GET /v1/defi-snapshot?address=0x…
$0.05 · one address

Everything in a wallet snapshot, plus the address's Aave v3 position on Base and derived risk metrics.

  • All wallet-snapshot fields above
  • aave_v3.available, aave_v3.pool, has_position
  • total_collateral, total_debt, available_borrows (USD, 8 decimals)
  • current_liquidation_threshold_bps, loan_to_value_bps
  • health_factor — null when there's no debt
  • no_outstanding_debt — quick boolean flag
  • derived.aavenet_equity, ltv_utilization_pct, leverage_multiplier, health_factor_band
  • derived.aave.collateral_drawdown_tolerance_pct — how far collateral can fall before liquidation
  • sources, disclaimer
Snapshot Sweep
GET /v1/batch-snapshot?addresses=0x…,0x…
$0.02/addr · 20–40% volume off · up to 1000

Wallet snapshots for many addresses in one call, all anchored to a single block.

  • block_number, timestamp, count
  • results[] — one entry per address
  • each result: address + full wallet-snapshot data
  • up to 1000 addresses, one consistent block anchor
  • sources, disclaimer

Vet the Endpoint

trust calls Measured delivery facts — no trust score, no "scam" label
x402 Resource Directory
GET /v1/x402/discovery/resources
Free · no payment

Find the endpoint before you vet it. A searchable index of public x402 resources, ordered by how many distinct wallets actually paid them in the last 30 days. The CDP Bazaar catalog behind it supports neither text search nor lookup by URL; this does.

  • ?q= — text across URL, service name and description
  • ?network= — exact network id (base, eip155:8453, solana)
  • ?max_price= — USD ceiling; unpriced entries are excluded, not assumed cheap
  • unique_payers_30d, calls_30d — the demand signal it's ranked by
  • reliability — whether we hold probe history for it; the facts are the paid call below
Endpoint Reliability
GET /v1/endpoint-reliability?url=https://…
$0.01 · one endpoint

Pre-flight a single x402 endpoint before your agent pays it: factual, independently measured delivery signals from continuous probing. Any endpoint, not just ones we've seen — an unknown URL is probed live before you get an answer.

  • url, status, sample_size, last_verified
  • facts.reachable_rate — uptime over the probe window
  • facts.http_success_rate — responded as expected (2xx or a valid 402)
  • facts.valid_402_rate — returns a well-formed x402 challenge
  • facts.latency_ms — p50 / p95 / p99 (bucketed)
  • facts.delivery_verified — sampled paid delivery check
  • flags — enumerated factual markers (e.g. consecutive_failures)
  • methodology, disclaimer
Reliability Sweep
GET /v1/endpoint-reliability/batch?urls=https://…,https://…
$0.01/endpoint · 20–40% volume off · up to 150

Vet your agent's whole tool list in one call — the same delivery facts for every x402 endpoint it depends on, before relying on them. The trust line's sweep.

  • count, results[] — one entry per endpoint
  • each result: url, status, sample_size, facts, flags
  • same facts as the single check — reachable / valid-402 / latency / delivery
  • endpoints we hold no history for are probed live, so every billed URL returns real facts
  • up to 150 endpoints, one paid call
  • methodology, disclaimer

Check the Trade

trading calls Deterministic date & lot math — rules quoted, never applied; nothing stored
Holding Period
POST /v1/holding-period
$0.02 · up to 500 lots

Send your tax lots (and optionally a proposed sell) as JSON: per-lot days held, the exact date each lot's gain character turns long-term, and FIFO or specific-identification allocation with realized gain per lot. IRC §1222's threshold is quoted in the response; cost basis is used exactly as supplied.

  • lots[].daysHeld, longTermFrom, character, daysUntilLongTerm
  • sell.allocations[] — per lot: quantity, character, costBasis, proceeds, realizedGain
  • sell.totals — short-term / long-term quantity and gain (null over guessed, always)
  • missing basis or price → null math, never a partial sum
  • explanation, methodology, disclaimer
Day-Trade Count
POST /v1/day-trade-count
$0.02 · up to 1000 trades

Matched same-day buy/sell pairs per symbol in the rolling five-TRADING-day window — real market days from a versioned NYSE holiday calendar, not naive calendar days. FINRA Rule 4210's pattern-day-trader definition is quoted in the response, never applied: the count is ours, the comparison is yours.

  • window.tradingDays — the 5 actual market days, plus calendarVersion
  • day_trade_count, total_trades_in_window, day_trade_ratio
  • day_trades[] — each matched symbol-day with buys, sells, pairs
  • coverage — declare how far back your data reaches; short coverage is flagged as a floor, never hidden
  • threshold_citation, methodology, disclaimer
Settlement Dates
POST /v1/settlement-dates
$0.02 · up to 1000 trades

The T+1 settlement date for each trade and whether it has settled as of a date you supply — weekends and market holidays handled by the same versioned NYSE calendar. SEC Rule 15c6-1 is quoted in the response; sequencing conclusions stay yours.

  • trades[].settlementDate — next trading day after the trade (T+1)
  • trades[].settledAsOf, tradingDaysUntilSettlement
  • settled_count, unsettled_count
  • dates outside the calendar's range are a 400 — never a guessed holiday
  • rule_citation, calendar_version, methodology, disclaimer
Settlement Date · single
GET /v1/settlement-date?trade_date=…&as_of=…
$0.02 · one trade

The same T+1 answer for one trade, as a one-line GET — no request body. Pass a trade date and an as-of date; get the settlement date and whether it has settled. For when an agent has a single date to check, not a list.

  • settlement_date — next trading day after the trade (T+1)
  • settled, trading_days_until_settlement
  • same versioned NYSE calendar and SEC Rule 15c6-1 citation as the batch route
  • out-of-range dates are a 400 — never a guessed holiday

Pay Per Call. No Subscriptions.

USDC micropayments via x402. Gasless for the payer. Settle in seconds on Base. Single calls, or sweeps that bill per item with volume discounts — 20% at 10, 30% at 50, 40% at 100.

Read the Chain

information
$0.02
Wallet Snapshot

Native + ERC-20 balances and account flags for one address.

$0.02/addr
Snapshot Sweep

Volume tiers: 20% off at 10, 30% at 50, 40% at 100. Up to 1000 addresses, one block anchor.

10 → $0.16 · 50 → $0.70 · 100 → $1.20

Vet the Endpoint

trust
Free
Resource Directory

Search public x402 endpoints by text, network and price ceiling, ranked by 30-day unique payers. No payment, no wallet, no key.

$0.01
Endpoint Reliability

Pre-flight one x402 endpoint before your agent pays it.

$0.01/endpoint
Reliability Sweep

Volume tiers: 20% off at 10, 30% at 50, 40% at 100. Up to 150 endpoints in one call.

10 → $0.08 · 50 → $0.35 · 100 → $0.60

Check the Trade

trading
$0.02
Holding Period

Days held, long-term dates, and realized-gain math for up to 500 lots — one flat call.

$0.02
Day-Trade Count

The rolling five-trading-day window over up to 1000 trades — one flat call.

$0.02
Settlement Dates

T+1 dates and settled status for up to 1000 trades — one flat call.

$0.02
Settlement Date · single

The same T+1 answer for one trade, as a one-line GET — no request body.

Add Orcpin in One Line

Drop the MCP server into Claude Desktop, Cursor, or any agent runtime — it exposes all nine tools and handles x402 payment for you — including a free directory tool that works before you have a wallet. Prefer the raw API? See the catalog.

MCP config — Claude Desktop / Cursor
{
  "mcpServers": {
    "orcpin": {
      "command": "npx",
      "args": ["-y", "orcpin-mcp"],
      "env": { "ORCPIN_PRIVATE_KEY": "0xYOUR_FUNDED_BASE_WALLET" }
    }
  }
}

Nine tools. x402-directory is free and always exposed — search the ecosystem with no wallet configured at all. The eight paid ones: wallet, defi & batch snapshots, endpoint-reliability and its sweep, plus the trading calculators — holding-period, day-trade-count, settlement-dates. Building a trading agent only? Add "ORCPIN_TOOLSETS": "trading" to the env for just the three calculators. Point ORCPIN_PRIVATE_KEY at a dedicated Base wallet holding a few dollars of USDC (gasless — no ETH needed) and your agent just calls the tools. npmjs.com/package/orcpin-mcp →

Under the hood: x402 payment

Four steps. No API keys. No OAuth. Just HTTP and USDC.

Agent Orcpin + facilitator
Agent
📡

1 · Request

Calls a paid endpoint with no payment attached.

Orcpin
🧾

2 · 402

Replies 402 with payment requirements.

Agent
✍️

3 · Sign

Signs a USDC authorization off-chain — gasless.

Facilitator + Orcpin
📌

4 · Deliver

Settles payment, returns the structured JSON result.

Ready to Integrate?

Drop in the MCP for a one-line install, or wire the raw API from the service catalog.

MCP: npx -y orcpin-mcp · the catalog opens the live API (JSON, built for agents).