SDKs

Connect your agent. Or your server.

Buyers pay 402s, sellers answer them. Open x402 packages, plus a CLI that pays and an API that finds.

Agents · pay a 402

The Nucleo CLI is a complete paying agent: GET → 402 → sign → retry, and it prints the PAYMENT-RESPONSE receipt. Use a small, separate wallet.

$ npm i -g nucleo-cli
$ export NUCLEO_PAYER_KEY=0x…          # the paying wallet (USDG on Robinhood Chain, or USDC on Base)
$ nucleo find "weather forecast for Seattle"
$ nucleo pay https://weather.example/forecast?q=Seattle
$ nucleo pay https://nucleoagent.com/x/some-hosted-api/path --prefer usdg
$ nucleo approve 0x…NUCLEO                 # one-time Permit2 approval to pay in $NUCLEO

In code, the official x402 fetch wrapper does the same: @x402/fetch with @x402/evm and a viem account.

import { wrapFetchWithPayment } from "@x402/fetch";
const fetchPaid = wrapFetchWithPayment(fetch, account);   // viem account
const r = await fetchPaid("https://api.example.com/v1/thing");

Servers · answer a 402

Two ways to sell. Host behind Nucleo: paste your URL and a price in the Dashboard, Nucleo answers 402, verifies, forwards and settles. Or self-host with the x402 middleware and get listed.

import express from "express";
import { paymentMiddleware } from "@x402/express";
app.use(paymentMiddleware({
  "GET /forecast": { price: "$0.002", network: "eip155:4663", payTo: "0xYourWallet" },
}, { facilitator: { url: "https://nucleoagent.com/facilitator" } }));

Packages: @x402/express, @x402/core, @x402/evm, @x402/fetch; Next.js, Hono, Fastify, Go and Python middlewares exist in the x402 repositories. Once it answers 402, list it in the Dashboard; Nucleo probes it first.

Nucleo API · find and read

Free, no key, cached five minutes.

GET  /api/v1/stats
GET  /api/v1/projects?q=weather&network=base&category=data&sort=cheap&page=1
GET  /api/v1/projects/{host}
GET  /api/market/candidates?task=…           # the index candidates for a task
POST /api/market/find    { "task": "…" }      # Nucleo's picks, streamed (SSE), counts against the daily quota
POST /api/market/probe   { "url": "…" }       # live 402 read
GET  /api/v1/pro/endpoints?q=…                 # endpoint-level search behind a 402 (paid per call)

Gateway

Every indexed host is reachable through one prefix; the 402 and the payment headers pass through untouched.

https://nucleoagent.com/x/<host>/<path>      # transparent proxy to an indexed host
https://nucleoagent.com/x/<name>/<path>      # an API hosted behind Nucleo's own 402

CORS is open and PAYMENT-REQUIRED / PAYMENT-RESPONSE are exposed, so browser agents work too.