Prepare: pay an x402 request from a hold
hold_payThe voucher for one x402 request (HTTP 402 offering the borro-hold scheme): the typed data the hold's payer signs, saying what it owes the merchant in all on the hold, counted on from the last voucher Borro's facilitator accepted (or what the hold has paid on chain, if more). Give payment_required and hold (its id), or wallet to use its newest hold the merchant takes. Refused in words when the hold cannot pay it (another payee, a vault the merchant does not take, too close to its expiry, its cap used, too little value) or the request costs more than max_usdg. Nothing is sent: sign typed_data (eth_signTypedData_v4), then hold_header.
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": {
"payment_required": "<payment_required>"
},
"name": "hold_pay"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hold | No | The hold's id (hold_open returned it) | |
| wallet | No | The payer: finds its hold for this merchant when hold is not given | |
| max_usdg | No | The most one request may cost, in whole units as a decimal string, like "1.5" | |
| payment_required | Yes | The 402's PaymentRequired (PAYMENT-REQUIRED header value or JSON body) |