New to crypto wallets? Start here.

Don't have a wallet? Get one in 5 minutes.

Skim is x402-native — there's no signup, no API keys, no account. Your wallet IS your identity. One wallet handles both your own testing and your agent's autonomous calls. Here's the whole setup, start to finish.

Newest to all this? You can just use a card.

You don't need an exchange account or any crypto to get started. The Coinbase Wallet extension in step 1 has a "Buy" button built right in — pay with a credit card (or debit), choose USDC (a stablecoin pegged to the US dollar) on Base, and you're funded in a couple of minutes. No buying and selling cryptocoins on the spot market, no confusing cryptocoin trading pairs — your card converts to USDC automatically, and every top-up later works the same way. From there it's the same five steps as everyone else. The card part is the easy bit.

Get Coinbase Wallet
The whole setup

One wallet. Five steps.

1

Install the Coinbase Wallet browser extension

Install the Coinbase Wallet browser extension. Same brand and team as Base, with the Base network built in — no manual network setup, no fiddling with RPC URLs. It also lets you export the wallet's private key as a hex string, which you'll need in step 5.

Why not a passkey wallet like Base Account? Passkey wallets require a human to approve each signature, so they can't be used by an autonomous agent. You need a wallet whose key you can paste into a config file.

2

Create a NEW wallet — don't reuse your personal one

In your extension, choose "Create new wallet" (not "import"). This wallet should exist for exactly one purpose: paying for agent infrastructure calls. The "Why a dedicated wallet" section below covers the three reasons that matter (blast radius, budget control, accounting).

3

Fund it with USDC — on the Base network

This is the part where people lose money if they rush. Buy or send USDC to the wallet, but it MUST arrive on the Base network — not Ethereum mainnet, not Polygon, not Arbitrum. Skim only settles on Base.

Easiest path: in your Coinbase Wallet extension, use the built-in "Buy" button with a credit card and pick USDC on Base. Sending from an exchange (Coinbase, Binance, Kraken)? When you hit "Withdraw USDC," the exchange will ask which network — pick Base. $5 funds about 2,500 Skim reads, so start small.

4

Export the private key

In the wallet's settings, find "Show private key" or "Export private key." Copy the hex string (it starts with 0x). Treat it like a password — anyone with this string can spend the wallet's balance, which is exactly why we keep the balance small.

5

Use the key — for testing, for your agent, or both

The same private key works for everything you'd do with Skim:

  • Try it yourself from the terminal using the curl, JavaScript, or Python samples in the docs.
  • Wire it into an AI agent via the skim-mcp MCP server. The MCP config takes the key directly.
"SKIM_WALLET_PRIVATE_KEY": "0xYOUR_PRIVATE_KEY"
"SKIM_MAX_PRICE_USD": "0.01"

The SKIM_MAX_PRICE_USD ceiling caps what the wallet will sign for in one call — a guardrail against a buggy or runaway agent.

What happens when your agent calls Skim

You might be wondering: how does my agent know where to send the payment? Do I need to put Skim's wallet address somewhere? No. The x402 protocol carries the routing on every call. Here's what happens behind the scenes:

  1. Your agent sends a request to /api/v1/read.
  2. Skim responds with 402 Payment Required, including where to pay, how much, and on which network.
  3. The skim-mcp library reads those instructions, signs a USDC payment authorization with your private key, and retries the request with the signature attached.
  4. Skim verifies the signature, settles the payment on Base, and returns the clean markdown.

You never type Skim's wallet address anywhere. The same is true for any other x402 service — the same wallet that pays Skim today can pay any x402 API tomorrow with zero extra setup. That's the point of the protocol.

One more time, because it's the #1 newbie mistake.

USDC on Ethereum is a different token from USDC on Base. If you withdraw USDC from an exchange on the wrong network, the funds will arrive at the wrong place, and Skim won't see them. When in doubt: Base. Always Base.

Can I use my current wallet?

Technically yes. Practically — don't. Use a fresh wallet dedicated to AI agent calls. Three reasons:

Blast radius

Your agent's private key lives in plaintext in a config file. If it leaks — accidentally committed to GitHub, machine compromised, screen shared — only the agent wallet's balance is at risk. Your personal wallet, with your real assets, is untouched.

Budget control

A buggy agent burning through reads can only spend what's in the wallet. Keep $5 there, the worst case is losing $5. Pair with SKIM_MAX_PRICE_USD for a per-call ceiling.

Accounting

A wallet that only ever pays for agent infrastructure makes a clean ledger. Every outgoing transaction is a Skim call (or another x402 service). No need to untangle agent spend from personal trades, NFT mints, or anything else.

The same wallet unlocks the whole x402 ecosystem

Once your agent has a Base wallet with USDC, Skim is just one of many x402-powered APIs it can pay. The same wallet, the same protocol, no per-service signup. Browse the growing registry at x402scan.com.

Why this changes the cost math.

x402 services are priced for agents — fractions of a cent per call, not LLM-token rates. That means your agent wallet doesn't need to hold much money. $5 funds thousands of Skim reads. Top it up only when it runs low. No subscriptions, no quotas, no "predict your usage three months out."

Wallet ready? Make your first call.

Head to the docs for copy-paste curl, JavaScript, and Python samples. Your first paid read is about ten lines of code away.