Broadcast a USDC transfer you signed, with our gas (paid, x402)
relay_usdcPAID: send USDC from a wallet that holds no ETH. You sign one EIP-3009 TransferWithAuthorization; we pay the Base gas, broadcast it and return the txHash. $0.0200 an order, ceiling 100000000 atomic USDC ($100). We never hold or need a key of yours -- we hold only the ETH that pays for the write. Every refusal (bad signature, closed window, value over the ceiling, self-send) is free and before the paywall: we never charge for a transaction we did not send, and a box whose gas key cannot fund one broadcast refuses free rather than taking your fee. A repeated payment buys another broadcast -- there is nothing to extend, and each order needs its own unused nonce. Call it once without payment to receive the price as an x402 PaymentRequired (Base USDC, and Solana USDC where offered); call it again with a signed payment in _meta['x402/payment'] to complete it. The receipt comes back in _meta['x402/payment-response']. No account, no API key. Complaints, questions, quote requests, or a service you wish we had: POST /feedback on this host -- free, no account. Every report is read and analysed daily; there is no individual reply.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"from": "<from>",
"to": "<to>",
"value": "<value>",
"validAfter": "<validAfter>",
"validBefore": "<validBefore>",
"nonce": "<nonce>",
"signature": "<signature>"
},
"name": "relay_usdc"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient of the USDC. Must differ from `from` -- a self-send is a free 400. | |
| from | Yes | The USDC holder who signed. The signature must recover to exactly this address, e.g. 0x2222222222222222222222222222222222222222. | |
| nonce | Yes | 32 bytes of hex, unused before: USDC itself rejects a reused one, so each order needs its own. | |
| value | Yes | Atomic USDC (6 decimals) as a decimal string, 1..100000000 ($100 ceiling an order). | |
| signature | Yes | Your EIP-712 TransferWithAuthorization signature over chainId 8453, verifyingContract 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913 (Base USDC). A refusal returns details.expected with the exact struct and domain. | |
| validAfter | Yes | Unix seconds, as a string; must already have passed. | |
| validBefore | Yes | Unix seconds, as a string; at least 30s out, so the broadcast lands inside your window. |