The x402 API
Startup, investor, people and company data your AI agent can buy by the call. No account, no API key: the server returns HTTP 402, your agent pays in USDC on Base, and the data comes back. Every priced endpoint, machine-payable.
# 1. Call with no auth → HTTP 402 with payment instructions
curl -i https://www.startuphub.ai/api/v1/startups?q=anthropic
HTTP/1.1 402 Payment Required
{
"version": "2",
"accepts": [{
"scheme": "exact",
"network": "base",
"asset": "USDC",
"amount": "1000", # micro-units; 1000 = $0.001
"payTo": "0x...", # StartupHub.ai receiving wallet
"resource": "<the URL you called>",
"maxTimeoutSeconds": 60
}]
}How it works
Three steps, one round trip, fully autonomous.
Call with no auth
Hit any priced endpoint without a key. If the caller has no Bearer token, the server replies HTTP 402 with machine-readable payment instructions (amount, asset, payTo, network).
Sign + pay in USDC
Your client signs an EIP-3009 transferWithAuthorization for the exact amount to the payTo address on Base. No gas dance, no on-chain wait you have to manage, the x402-fetch wrapper does it inline.
Retry, get your data
Replay the same request with an X-Payment header. Settlement is verified through an x402 facilitator and you get the normal 200 with the JSON payload. One round trip, fully autonomous.
One wrapper, no key
x402-fetch handles 402 → sign → retry. Point a funded wallet at any endpoint.
import { wrapFetchWithPayment } from "x402-fetch";
import { privateKeyToAccount } from "viem/accounts";
// A wallet holding USDC on Base. No StartupHub account, no API key.
const account = privateKeyToAccount(process.env.WALLET_PRIVATE_KEY);
const fetchWithPay = wrapFetchWithPayment(fetch, account);
// x402-fetch handles 402 → sign → retry automatically.
const res = await fetchWithPay("https://www.startuphub.ai/api/v1/startups?q=anthropic");
const data = await res.json();Fund the wallet with a few dollars of USDC on Base (covers thousands of calls). Base USDC contract: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913.
What you get
An HTTP-native payment rail bolted onto the whole data API.
No account, no API key
An agent with a funded wallet can call the data API cold. No signup form, no dashboard, no key rotation. The 402 handshake IS the auth.
USDC on Base
Payments settle in USDC on the Base network. Cents-per-call economics: a few dollars of USDC covers thousands of lookups. payTo and amount are in every 402 response.
Every priced endpoint
Directory reads, lookups by domain / social / email, company funding / revenue / tech stack, deep intelligence, logo, email validation + discovery, enrichment, and the generators, all machine-payable.
EIP-3009, x402 v2
Standard transferWithAuthorization signatures and the x402 v2 response shape. Works with x402-fetch out of the box, or implement the handshake yourself in a few lines.
Bearer keys still win
Got an account? Keep using your API key: it stays the default and cheapest path. x402 is the keyless fallback for callers who have no relationship with us yet.
MCP-native too
The same data is exposed over a Model Context Protocol server, so an agent in Claude or Cursor can reach it inline. x402 is how a wallet-bearing agent pays for what it calls.
Built for agentic workloads
When the caller is software with a wallet, not a person with a credit card.
Autonomous agents that buy data
An agent researching a market needs investor and company records mid-task. With a funded wallet it just calls and pays, no human to provision a key first.
Try-before-you-onboard
Let a prospect's agent hit the live API and pay cents per call before anyone signs up. Frictionless first touch; the account relationship can come later.
Per-call metering, no plan
Spiky or one-off workloads that do not fit a monthly subscription. Pay for exactly the calls you make, settled on-chain, nothing standing.
Agent-to-agent commerce
Compose StartupHub data into a larger agent workflow or marketplace where each hop pays the next. x402 is the open settlement layer underneath.
What a call costs
The exact amount is in each endpoint’s 402 response. It mirrors the credit cost, settled in USDC on Base.
| Endpoint | Per call (USDC) |
|---|---|
| Directory read / lookup (startups, investors, people, products) | $0.001 |
| Lookup by domain / social / email | $0.001 |
| Company funding / revenue / technology | $0.001 |
| Email validation | $0.001 |
| Email enrichment | $0.001 |
| Email discovery | $0.003 |
| Logo lookup | $0.005 |
| Profile enrichment | $0.005 |
| AI list builder | $0.005 |
| Company lookup by LinkedIn (live) | $0.03 |
| Deep intelligence dossier | $0.10 |
Account-scoped endpoints (monitor, advertiser analytics) and free submissions stay API-key-only.
vs. the usual ways to bill an API
x402 removes the account, the top-up, and the card.
| Approach | The friction | x402 API |
|---|---|---|
| Traditional API keys | Signup, dashboard, key provisioning before the first call | Zero onboarding, a funded wallet calls cold |
| Monthly SaaS plans | Pay a flat fee whether you make 1 call or 10,000 | Pay per call, settled on-chain, nothing standing |
| Prepaid credit packs | Top up in advance, reconcile balances, watch for expiry | USDC settles at call time, no balance to manage |
| Card-on-file metering | PCI surface, chargebacks, a human to enter card details | Agent signs an EIP-3009 authorization: no card, no human |
Point a wallet at it
Fund USDC on Base, wrap fetch with x402-fetch, and start calling. No signup required.
x402 API FAQ
What is the x402 API?
It is StartupHub.ai's data API made machine-payable through the x402 protocol. Any priced endpoint can be called with no account and no API key: the server returns HTTP 402 with payment instructions, your client pays in USDC on Base and retries, and you get the data. It runs alongside the normal Bearer-key path, which stays the default for account holders.
Do I need an account or API key to use x402?
No. That is the point. A caller with a wallet that holds USDC on Base and can sign EIP-3009 transfer authorizations can use every priced endpoint with no signup. If you already have an API key, keep using it. Bearer auth remains the default and cheapest path.
How much does each call cost?
The exact price is the amount field in each endpoint's 402 response, denominated in USDC micro-units (6 decimals). It mirrors the endpoint's credit cost, starting at $0.001 for a directory read or lookup and scaling up to $0.10 for a full deep-intelligence dossier. A few dollars of USDC covers thousands of reads.
Which network and asset do payments settle in?
USDC on the Base network only. The Base USDC contract is 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Fund a wallet with a few dollars of USDC on Base and your agent can pay per call.
How do I implement the handshake?
Easiest path: use the x402-fetch library, which wraps fetch and handles 402 → sign → retry automatically. Manually: call the endpoint, read the 402 body (version, accepts[].amount, payTo, network), sign an EIP-3009 transferWithAuthorization for that amount to payTo on Base, and retry the same request with an X-Payment header carrying the base64 payload.
Which endpoints support x402?
Every priced endpoint: the startups, investors, people and products directories and all their lookups, company funding / revenue / technology, deep intelligence, logo, email validation and discovery, profile and email enrichment, startup matching, and the generators (Visual TL;DR, YouTube to Article, AI list builder). Account-scoped endpoints (monitor, advertiser analytics) and free submissions stay API-key-only because they need an owning account.
Is x402 safe to build on?
x402 is an open HTTP-native payment standard (the 402 status code was reserved for exactly this). Payments are standard signed USDC transfers verified through a facilitator before the work runs. There is no card on file, no chargeback surface, and the keyless caller never gains access to anyone's account.
How is this different from just buying API credits?
Credits require an account, a top-up step, and balance reconciliation. x402 settles each call on-chain at request time, so a wallet-bearing agent can transact with no prior relationship. It is the difference between a subscription and a vending machine.