x402 signals
A stream of new posts from the wallets you follow, 0.001 USDG per signal, paid over x402. Reading the feed page stays free.
The flow
Call /api/signals?follow=0xA,0xB&since=<unix>. Without a payment the endpoint answers 402 with the x402 requirements: scheme exact, asset USDG, amount 1000 units (0.001 USDG) per signal returned.
Paying
Sign a USDG TransferWithAuthorization (EIP-712 domain name "Global Dollar", version 1, chain 4663) for the amount, base64 the x402 payload and send it in the X-PAYMENT header.
const auth = { from, to: payTo, value: "1000", validAfter: "0", validBefore: String(now + 120), nonce };
const signature = await wallet.signTypedData({ domain, types, primaryType: "TransferWithAuthorization", message: auth });
fetch(url, { headers: { "X-PAYMENT": btoa(JSON.stringify({ x402Version: 1, scheme: "exact", network: "robinhood-4663", payload: { signature, authorization: auth } })) } });Settlement
The server checks the signature, the amount, the window and the nonce, answers 200 at once, and queues the authorization for the settle service, which submits it on chain. When the settle key has no gas, payments wait in the queue and settle in order once it is funded.