Register an agent and fund its wallet in one paid call (no key, no human)
register_and_fundRegister a new agent and fund its wallet in one paid call, with no API key and no human: amount in USD, accept_terms (the current terms version) and recovery_secret (recommended: 32 random bytes as base64url, 43 characters, kept with the payment; for x402 it is the only proof of who paid). The first call answers payment required with the ways to pay (MPP: card through a Stripe shared payment token, USDC on Tempo; x402: USDC on Base). Pay one and call again with the same arguments and the credential in _meta; the result carries agent_id and api_key, shown once. If the result is lost, call again within 24 hours with the same credential and recovery_secret to get a new key for that agent. If you cannot keep a secret, use register_agent (free) and then topup_wallet instead.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "register_and_fund"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Referral code, used when the body has no referral_code. | |
| amount | No | US dollars, at most two decimals (default 5.00). From the minimum deposit ($1.00 by default) to the daily deposit limit ($1,000 by default). | |
| currency | No | ||
| interests | No | ||
| agent_type | No | ||
| attribution | No | Optional: where this registration came from. Each field at most 64 characters of letters, digits and . _ - : / + @ ~. Unknown keys are ignored; an invalid value is a 400 invalid_attribution. | |
| accept_terms | No | The current terms version. Required with the payment. | |
| capabilities | No | ||
| referral_code | No | Optional referral code of another agent (10 characters, base32, case-insensitive). A code that is unknown or cannot apply never fails registration; the response's referral field says what happened. | |
| recovery_secret | No | Optional, recommended: 32 random bytes as base64url (43 to 256 characters, at least 16 different), kept with the payment. Bound into the challenge (send it in both requests); repeating the paid request with it within 24 hours returns a new key if the response was lost. For x402 it is the only proof. |