Prepare an IFSO v2 payment (unsigned)
ifso_prepare_v2_paymentBuilds a v2 if-so payment in USDG, USDe or ETH and returns its own payment address, known before any money moves, so it can be funded from anywhere on Robinhood Chain (any wallet, or the Robinhood app, which can send ETH and USDG to any address). Also returns the UNSIGNED data the sender may sign instead: an EIP-3009 authorization for USDG, a Permit2 signature for USDe, or one fundETH transaction for ETH. The money moves when the condition is met, or comes back to the sender after the expiry. This server never signs and never sends.
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": {
"asset": "<asset>",
"amount": "<amount>",
"sender": "<sender>",
"condition": "<condition>"
},
"name": "ifso_prepare_v2_payment"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | The asset: USDG, USDe or ETH on Robinhood Chain. | |
| amount | Yes | Amount in whole units of the asset, e.g. "20" or "0.015". | |
| expiry | No | Unix seconds after which anyone can send the money back (default: from the condition). | |
| sender | Yes | The wallet that funds the payment and gets it back if it comes back. | |
| linkKey | No | For a claim link: the address derived from the link secret. Keep the secret yourself; never send it. | |
| refundTo | No | Where the money comes back to (default: the sender). | |
| condition | Yes | What unlocks the payment. One of: {"kind":"TIME","at":<unix seconds>}, {"kind":"PRICE","ticker":"ETH","op":"GTE"|"LTE","price":"4000","deadline":<unix seconds>} (checked at the deadline), {"kind":"APPROVE_PARTIES"} (both of you tap OK; needs a named recipient), {"kind":"APPROVE_REFEREE","referee":"0x..."}. | |
| recipient | No | Named recipient. Give this or linkKey. | |
| releaseAt | No | Pay on delivery (v2.1): unix seconds when a release window ends. The money goes to the recipient then unless the sender disputes before it ends; after a dispute the referee decides, and a silent referee means it comes back at the expiry. Needs the APPROVE_REFEREE condition and an expiry at least 1 day later (default: 2 days later). | |
| requestId | No | The id of a payment request this pays (see ifso_create_request). | |
| altRefundTo | No | Second refund address, used if the first cannot receive. | |
| cancellable | No | Let the sender cancel before the condition decides (default false). |