Skip to main content
Glama

LocationLists — Agent Wallet

Give Claude a wallet, and it can buy business location data on its own. No card, no account, no checkout page.

Claude cannot sign an on-chain payment — it holds no keys, and it never will. So the wallet lives in a tool Claude calls. Claude decides what to buy; this extension holds the money and signs for it. That is not a workaround; it is the shape agent payments actually take.

What happens

You ask Claude a question it needs data to answer. Claude calls buy_location_data. The extension asks locationlists.com for the records, gets back HTTP 402 with a price, signs a USDC payment on Base, retries with the payment attached, and hands Claude the rows. The whole thing takes a few seconds and settles on a public blockchain you can check afterwards.

Pricing is per row, derived from each dataset — a slice of a large file costs cents. Datasets under 5,000 records are not sold by the row; the seller returns a link to buy the file outright instead.

Related MCP server: valorem-mev-mcp

Install

  1. Download locationlists-buyer.mcpb from Releases.

  2. Double-click it. Claude Desktop installs it and asks for three things:

    • Wallet private key — stored in your OS keychain, never in a config file

    • Maximum per purchase (default $1.00)

    • Maximum per session (default $5.00)

  3. Restart Claude Desktop.

Funding the wallet

Use a dedicated wallet holding only what you are willing to let an AI spend. Not your main one.

You need USDC on Base. From Coinbase: Send → USDC → paste the wallet address → Network: Base → confirm. Picking Ethereum, Arbitrum, Polygon or Optimism instead will accept the address happily and put the money somewhere this cannot spend it.

You do not need ETH. x402 uses gasless EIP-3009 transfers — the facilitator broadcasts the transaction and pays the gas.

$5 is plenty to try it.

Spending limits are not optional

An LLM with a wallet will, sooner or later, call a paid tool in a loop. Three checks run before anything is signed, and a refusal costs nothing:

  • per-call cap

  • per-session running total, held in memory so a restart is a deliberate act

  • on-chain balance check

Ask Claude what's in your wallet? at any point and it will tell you the balance, the session spend, and the limits.

Try it

I sell backup generator installation in Colorado. Find me the Generac dealers there so I know who I'm competing against.

Claude will search the catalog, see the rows cost money, buy the ones it needs, and answer with real dealers — names, addresses, phone numbers. The tool response names the amount paid and both wallet addresses, so you can verify the transaction on Basescan.

Configuration

Everything is set through Claude Desktop's UI at install time. For other MCP clients, the server reads:

Variable

Default

Meaning

X402_BUYER_KEY

required. Private key of the funded Base wallet

MAX_SPEND_PER_CALL_USD

1.00

refuse any single purchase above this

MAX_SPEND_TOTAL_USD

5.00

refuse once the session total would exceed this

X402_SELLER_MCP

https://locationlists.com/mcp

the x402 seller to buy from

X402_RPC_URL

https://mainnet.base.org

Base RPC for balance reads

Run from source

git clone https://github.com/kylehawke-stack/x402-buyer-mcp
cd x402-buyer-mcp && npm install
X402_BUYER_KEY=0x... node server.mjs

Then point any MCP client at it over stdio.

One thing worth being precise about

Claude did not pay for anything. Claude decided to buy, and a tool it was given signed the payment. The decision is the novel part; the signature is ordinary software. Anyone describing this should say so.

Licence

MIT

Related MCP Connectors

Related MCP Servers