# Prim The agent-native stack. Infrastructure primitives for autonomous agents. No signup. No GUI. No KYC. Pay with USDC, get resources. Status: Private beta on Base Sepolia testnet. Prim provides 6 live infrastructure primitives, each accepting x402 payment (USDC on Base) as the sole authentication mechanism. An agent with a funded wallet can consume any primitive without human intervention. --- ## Access (Private Beta) All paid endpoints enforce an allowlist during beta. If you receive: 403 {"error": {"code": "wallet_not_allowed", "message": "..."}} Request access: POST https://api.prim.sh/access/request Content-Type: application/json {"wallet": "0xYourWalletAddress", "reason": "optional reason"} → 201 {"id": "abc123", "status": "pending"} Your request will be reviewed. Once approved, your wallet is allowlisted and all paid primitives become accessible. --- ## x402 Payment x402 is the payment protocol used by all prim paid endpoints. Implements EIP-3009 transferWithAuthorization for gasless USDC transfers. Full flow: 1. Call any paid endpoint normally (no special headers). 2. Receive HTTP 402 with header: Payment-Required: price= network=base payTo=
3. Sign EIP-3009 transferWithAuthorization from your funded wallet. Signed payload is a JSON object containing: from Your wallet address to The payTo address from the Payment-Required header value Amount in USDC atomic units (6 decimals) validAfter Unix timestamp (0 for immediate) validBefore Unix timestamp (expiry, ~5 min from now) nonce Random 32-byte hex signature ECDSA signature of the EIP-3009 struct hash 4. Retry the identical request with header: Payment-Signature: 5. Server verifies and settles. You receive your response. Libraries that handle this automatically: TypeScript: @x402/fetch (drop-in fetch replacement) Any language: implement the 402→sign→retry loop manually Chain: eip155:84532 (Base Sepolia) during beta. Token: USDC (6 decimals). Free routes available on every primitive: GET / Health check GET /pricing Machine-readable pricing for all endpoints (JSON) GET /v1/metrics Operational metrics (uptime, request counts, latencies) Common payment errors: 402 payment_required No payment sent. Check Payment-Required header. 403 wallet_not_allowed Wallet not on allowlist. Request access first. 403 wallet_paused Wallet operations paused by policy. 403 policy_violation Payment exceeds spending policy limits. --- ## Getting Started ### Option A: CLI (recommended) curl -fsSL prim.sh/install.sh | sh prim wallet create # Generate and register a wallet prim faucet usdc # Get 10 test USDC (free, 2hr cooldown) prim faucet eth # Get 0.01 test ETH (free, 1hr cooldown) prim store create-bucket # Create a storage bucket (pays via x402) prim search web "query" # Web search (pays via x402) Run prim --help for options. ### Option B: HTTP directly 1. Generate an EVM private key (any standard wallet library). 2. Register the wallet (free): POST https://wallet.prim.sh/v1/wallets {"address": "0x...", "signature": "0x...", "timestamp": "2026-02-26T00:00:00Z"} Message to sign: "Register
with prim.sh at " 3. Get test USDC (free): POST https://faucet.prim.sh/v1/faucet/usdc {"address": "0x..."} 4. Use any primitive. On 402, sign and retry with Payment-Signature header. --- ## Live Primitives - wallet.sh — wallet.prim.sh — Agent wallets. Generate keys, hold USDC on Base, and pay any x402 invoice. - faucet.sh — faucet.prim.sh — Free testnet USDC and ETH on demand. Fund your agent wallet and start building. - spawn.sh — spawn.prim.sh — VPS in one API call. Deploy, scale, destroy. Per-second billing. - store.sh — store.prim.sh — Object storage. Persist artifacts across ephemeral VMs. S3-compatible. - email.sh — email.prim.sh — Mailboxes on demand. Send, receive, webhook. Disposable or permanent. - search.sh — search.prim.sh — Search for agents. No ads, no SEO spam. Just facts and clean markdown. ## Built (Not Yet Deployed) - token.sh — Deploy ERC-20 tokens and Uniswap V3 pools. No wallet setup required. - mem.sh — Vector store and cache for agents. Persist long-term knowledge and session state. - domain.sh — Register domains, manage DNS, auto-TLS. Full domain lifecycle via API. - track.sh — Package tracking for agents. USPS, FedEx, UPS, DHL and 1000+ carriers. Status, ETA, full event history. - infer.sh — LLM inference for agents. Any model, any provider, one API. Per-token pricing. No API keys. ## Planned Primitives - deploy.sh — Push code, get an endpoint. Container or repo URL to live service. No server config. - ring.sh — Phone numbers via API. SMS, voice, TTS. No Twilio account needed. - pipe.sh — Pub/sub channels, webhook relays, event queues. Agent-to-agent glue. - vault.sh — Store API keys, tokens, credentials. Scoped access. Ephemeral or persistent. - cron.sh — Run code on a schedule without a server. Cron, intervals, one-shots. - code.sh — Sandboxed code execution for agents. Short-lived jobs instead of long-lived servers. - browse.sh — Headless Chromium sessions for agents. Click, type, and capture pages via API. - watch.sh — Structured logs, metrics, and alerts so agents can observe and correct themselves. - trace.sh — Distributed tracing across services. Follow a request from wallet to spawn to store. - auth.sh — Managed OAuth broker. Connect to third-party APIs without giving agents passwords. - hive.sh — Discover peers. Share knowledge. Establish reputation. A social graph for software. - id.sh — Reputation scores. Know Your Agent. Verifiable credentials. Trust layer. - mart.sh — Buy physical goods via API. x402 to fiat proxy. Headless checkout. - corp.sh — Incorporation, tax, insurance. Legal entities for agents. The fiat bridge. - hands.sh — On-demand human labor. Physical tasks, verification, errands. Gig economy API. - pins.sh — Coordinates, places, and routing. No maps UI, just structured spatial data. - seek.sh — Deep research agent. Multi-step search + synthesis. - docs.sh — OpenAPI → MCP converter. Turn any API spec into agent tools. - ads.sh — Programmatic advertising for agents. Buy and sell attention. - pay.sh — Stripe + x402 bridge. Accept fiat payments from humans. - ship.sh — Shipping labels and tracking via EasyPost. Physical world logistics.