Neuronto PaymentsAccept payments

x402 payment facilitator

Let agents pay for your API. Settled on-chain in USDC.

Neuronto Payments verifies the payments that AI agents sign and settles them on Base. One URL in any x402 SDK, no accounts for you or your buyers, and no funds held: every payment moves straight from the buyer's wallet to yours.

Facilitatorhttps://pay.neuronto.com
402Payment Required

GET /premium
Base · USDC

  1. The API asks to be paidPAYMENT-REQUIRED: exact, eip155:8453, 0.01 USDC to 0xYourWallet
    402
  2. The agent signs, in its own walletEIP-3009 transferWithAuthorization, signed over "USD Coin"
    no gas
  3. Neuronto Payments checks itPOST pay.neuronto.com/verify
    isValid
  4. Neuronto Payments settles itPOST pay.neuronto.com/settle
    success
buyer → merchant, in USDCgas: facilitator
Networks
BaseLive
Base SepoliaPaused
Price per settlement
Free during launchThen $0.00197 per settlement on Base, network gas plus 30%, announced 14 days ahead.
Funds held
NoneThe facilitator's own wallet holds gas only.
Protocol
x402 v1 and v2exact scheme, EIP-3009 USDC. Any x402 SDK works unchanged.

Integrate

Charge per request by changing one URL.

Put the x402 middleware in front of a route, name the price and the wallet you want paid, and point its facilitator at pay.neuronto.com. Buyers answer the 402 with a signed payment; you serve the response after it settles.

Both snippets are the official x402 SDKs, unmodified.

from fastapi import FastAPI, Request
from x402 import x402ResourceServer
from x402.http import FacilitatorConfig, HTTPFacilitatorClient
from x402.http.middleware.fastapi import payment_middleware
from x402.mechanisms.evm.exact import register_exact_evm_server

facilitator = HTTPFacilitatorClient(
    FacilitatorConfig(url="https://pay.neuronto.com"))
server = x402ResourceServer(facilitator)
register_exact_evm_server(server, "eip155:8453")

routes = {
    "GET /premium": {"accepts": {
        "scheme": "exact", "price": "$0.01",
        "network": "eip155:8453", "payTo": "0xYourWallet"}},
}
pay = payment_middleware(routes, server)
app = FastAPI()

@app.middleware("http")
async def x402(request: Request, call_next):
    return await pay(request, call_next)
import express from "express";
import { paymentMiddleware, x402ResourceServer } from "@x402/express";
import { ExactEvmScheme } from "@x402/evm/exact/server";
import { HTTPFacilitatorClient } from "@x402/core/server";

const facilitator = new HTTPFacilitatorClient({ url: "https://pay.neuronto.com" });
const server = new x402ResourceServer(facilitator)
  .register("eip155:8453", new ExactEvmScheme());

const app = express();
app.use(paymentMiddleware({
  "GET /premium": {
    accepts: { scheme: "exact", price: "$0.01", network: "eip155:8453", payTo: "0xYourWallet" },
  },
}, server));

Where the money goes

Straight from the buyer to you. Nothing in between.

A settlement is one on-chain transfer the buyer signed. Neuronto Payments broadcasts it and pays the network fee; it cannot change the amount or the destination.

Buyer walletSigns one authorization

For the exact amount, to your address, valid for minutes.

USDC
Your walletReceives the full amount

In the same transaction, visible on the block explorer.

Neuronto PaymentsBroadcasts and pays the gas

Holds no balances. Its wallet holds gas only.

Settlement guarantees

Built so a payment settles once, or not at all.

Settled exactly once

The identical request is settled once; sending it again returns the recorded result. Idempotency-Key is supported.

Checked right before it is sent

Every transfer is simulated again immediately before broadcast, so an emptied wallet fails cleanly and costs nobody anything.

Never left unresolved

A slow settlement answers settlement_pending with its transaction; resend the same body to poll for the outcome.

Only what should settle

USDC on each network, amounts above zero, well-formed authorizations. Anything else is refused before it reaches the chain.

Withdrawn before it fails

A network the facilitator cannot pay gas for disappears from /supported first, so a server never advertises terms that cannot settle.

Many buyers at once

Different buyers settle in parallel; each wallet settles in order, so one buyer cannot spend the same balance twice.

For agents and tools

Machine-readable from the first request.

Errors are always JSON in the x402 shape or RFC 9457. The API is versioned by the x402Version in the body, never by a URL prefix, and described in OpenAPI 3.1 and an ARD manifest.

  • GET /supportedNetworks, schemes and signers live right now, with each network's USDC facts.
  • POST /verifyCheck a signed payment against its requirements. Moves nothing, costs nothing.
  • POST /settleSettle on-chain. The identical body is settled once.
  • GET /discovery/resourcesEvery resource that has actually been paid for through this facilitator.
  • GET /pricingThe price of a settlement per network, as JSON.
  • GET /llms.txtThe guide for agents. Every page is also Markdown with Accept: text/markdown.

Start

Point your facilitator at pay.neuronto.com.