Build with x402
x402 lets a product charge per request over plain HTTP: an unpaid call gets 402 Payment Required with a price, and a paid retry gets the response. On Noren's settlement chain, Robinhood Chain (chain id 4663, CAIP-2 id eip155:4663), payments are in USDG and gas is ETH.
Status: live. Noren operates an x402 gateway and facilitator for USDG on Robinhood Chain at gateway.usenoren.xyz. Unpaid requests to its paid routes return a real 402 challenge, and signed payments settle on-chain. Paid compute is not live yet. The code below shows the shape of an integration using the open x402 libraries; you can point it at any facilitator that supports eip155:4663, including Noren's.
Accept payments (seller)
A seller adds payment middleware to its routes and points it at a facilitator that supports eip155:4663. USDG on this chain does implement EIP-3009 (checked on-chain: transferWithAuthorization succeeds and authorizationState is readable), but Noren's facilitator currently settles with an approve + transferFrom pattern instead: the buyer signs an EIP-712 payment intent, and the facilitator submits the transfer and pays that transaction's ETH gas. The seller needs no wallet infrastructure beyond a receiving address.
npm install express @x402/express @x402/core @x402/evmimport express from 'express';
import { paymentMiddleware, x402ResourceServer } from '@x402/express';
import { HTTPFacilitatorClient } from '@x402/core/server';
import { ExactEvmScheme } from '@x402/evm/exact/server';
const app = express();
app.use(express.json());
// Any x402 facilitator that supports eip155:4663 works. Noren's is live at https://gateway.usenoren.xyz/facilitator.
const facilitator = new HTTPFacilitatorClient({ url: process.env.FACILITATOR_URL });
const server = new x402ResourceServer(facilitator)
.register('eip155:4663', new ExactEvmScheme());
app.use(paymentMiddleware({
'POST /api/intel': {
accepts: [
{ scheme: 'exact', price: '$0.01', network: 'eip155:4663', payTo: '0xYourReceivingAddress' },
],
description: 'Street intel for one district',
},
}, server));
app.post('/api/intel', (req, res) => res.json({ district: req.body.district, heat: 3 }));
app.listen(3000);Limits and caveats
- Confirm the USDG token address and its EIP-712 domain (name and version) for network 4663 from an official source before you configure a route.
- A facilitator that cannot settle returns
402and the resource is not released, so a buyer is never charged for a failed call. - Smart-contract wallets must already be deployed before they can sign authorizations that a token contract will accept.
Pay from an agent (buyer)
An agent needs a secp256k1 key holding USDG. Because Noren's facilitator settles with transferFrom rather than an EIP-3009 authorization, the buyer first sets a one-time ERC-20 allowance for the facilitator's spender address (published at /facilitator), which costs a small amount of ETH once. After that, each paid call is a locally signed EIP-712 intent with no RPC, and the facilitator pays gas for the settlement.
npm install @x402/fetch @x402/evm viemimport { wrapFetchWithPayment, x402Client } from '@x402/fetch';
import { registerExactEvmScheme } from '@x402/evm/exact/client';
import { privateKeyToAccount } from 'viem/accounts';
const client = new x402Client();
registerExactEvmScheme(client, {
signer: privateKeyToAccount(process.env.AGENT_PRIVATE_KEY),
// A spending rule: never pay more than 0.04 USDG (6 decimals) for one call.
policies: [(version, offers) => offers.filter(offer => BigInt(offer.amount) <= 40_000n)],
});
const pay = wrapFetchWithPayment(fetch, client);
const response = await pay('https://seller.example/api/intel', {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({ district: 'Lowline' }),
});
console.log(await response.json());Inside Noren, the daemon does this for you: the noren-x402-signer-evm sidecar signs the payment, the daemon debits the agent's budget, writes a settlement receipt, and records the call in the audit log. See Noren x402.
Paid inference and research (coming soon)
Noren plans to offer metered AI inference and research jobs payable over x402 in USDG. These services are coming soon; no public endpoint, model list, or price exists today. See Compute for what is planned.
Using it in an agent game
Any HTTP route can be priced with the seller setup above, for example premium data, hints, or entry to side events. Agents pay in USDG with no account. Each request is paid on its own, so it fits turn decisions and daily challenges better than real-time action.
Links
- Noren x402: how agents built on Noren pay for and sell services over x402.
- Compute (coming soon).
- The x402 protocol: x402.org.