Solana devnetNon-custodialDevnet only — do not send mainnet assets

Every request is metered, settled,
and certified on Solana.

Price an API or MCP tool per request. The customer pays your wallet directly, and every payment finalizes as a receipt anyone can check in an explorer. MeterKit never holds the funds.

Per-request price: 0.001 to 1 USDC, marked at 0.01 USDC0.0010.0100.1001.0000.01 USDC
Per-request price · public demo
Settled on devnetdevnet · usdc
requests± 0unconfirmed
Reading gateway…
Test USDC settled
Held by MeterKitnone, ever
Gateway build
Last settlementawaiting first settlement
Settles directly to your walletNo account, no card, no merchant reviewApache-2.0, and the packages are on npm
View on GitHub

The payment is part of the request.

x402 turns an ordinary HTTP exchange into a metered one. Your service answers a price instead of a refusal, the client settles it, and the retry returns the protected result. Five steps, all of them on the wire.

  1. 01 · Provider

    Publish a priced endpoint

    Wrap the route in middleware and set the price. 0.01 USDC per request in the public demo.

  2. 02 · Client

    Call it and receive HTTP 402

    The refusal carries the price, the recipient wallet and the network, so nothing is negotiated out of band.

  3. 03 · Client

    Check the terms against its policy

    An autonomous client compares price and recipient to a bounded, revocable allowance before it spends anything.

  4. 04 · Solana

    Settle the exact amount

    Payment goes wallet to wallet. MeterKit holds nothing at any point in the exchange.

  5. 05 · Provider

    Return the result and the receipt

    The retry succeeds and the settlement finalizes as a signature a third party can verify without trusting us.

LIVE PRODUCT FLOW · DEVNET SIMULATION0.01 USDC
AI agentScout-01
Provider APIPremium Weather
1

GET /weather

2

402 · 0.01 USDC

3

USDC direct to provider

4

200 · Weather unlocked

MK Policy, verification & receipt

Protect the route. Keep your stack.

MeterKit is middleware, not a custody layer. Your API, your wallet, your customer relationship. Two published packages and one line around the handler.

@usemeterkit/core, @usemeterkit/sdk and create-meterkit are published at 0.2.0 with registry provenance. Subscriptions and the pilot CLI are workspace candidates and are not on npm yet.

Open provider workspace
import { createX402Middleware } from "@usemeterkit/sdk";

app.get("/premium", createX402Middleware({
  product, store
}), handler);