Create XMR/USDC swap order
create_swapIdempotent
Step 2. Creates the order from get_quote's next.arguments (quoteId, plus to if the quote had none): one order per quote; moves no funds. An order cannot be cancelled; unfunded, it expires. Retry with the same arguments: the default idempotencyKey returns the same order. Fund once, only while payable is true: before signing deposit.payment, get_swap_status {orderId, payment} must return paymentCheck.safeToSend. Next: get_swap_status.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Destination, only if the quote had none (next.missing). Never guess. | |
| detail | No | ||
| quoteId | Yes | From get_quote's next.arguments. | |
| idempotencyKey | No | Optional; default q_<quoteId>. Reuse on every retry. A custom key: a fresh random UUID per intent. | |
| quoteIntentDigest | No | From next.arguments: create fails if the quote's terms differ. |
Output Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | ||
| data | No | ||
| next | Yes | ||
| error | No | ||
| queue | No | ||
| state | No | ||
| deposit | No | ||
| orderId | No | ||
| payable | No | ||
| replayed | No | ||
| trackUrl | No | ||
| fromQueue | No | ||
| operation | Yes | ||
| recovered | No | ||
| destination | No | ||
| userMessage | No | ||
| payableReason | No | ||
| idempotencyKey | No | ||
| expectedReceive | No | ||
| reconfirmRequired | No |