Cancel one scheduled payment (ALPHA)
Alpha — early access.
Finalizes a single still-scheduled payment as cancelled. No signature is required - schedule rows are bookkeeping, not authorization (they are created by a plain API-key call); the signed grant is the MANDATE, which this does not touch. New payments can be instructed under the same mandate at any time. Executed, failed, and already-cancelled rows are not cancellable; a cancel racing the cron at the exact fire moment loses cleanly (the status guard never overwrites an executed payment).
Authorizations
Path Parameters
Response
The cancelled scheduled payment.
The signer (hosted agent) this payment fires under.
The funding wallet this payment spends from (the customer's choice at acceptance).
AUDIT — the mandate that covered this payment at fire time. Absent until the payment executes (coverage is decided at fire time, not bound at rest).
AUDIT — WHICH version of that mandate authorized this payment. A mandate's rule can be amended (new versions are appended), so mandate_id alone no longer identifies the caps the payment was judged against; this does, and it stays true after later amendments. Look the rule up at GET /mandates/{mandate_id}/versions. Always accompanies mandate_id — when the covering mandate could not be determined, both are absent rather than one being guessed.
AUDIT — the money-path transaction created when this payment fired. Absent until the payment executes.
What LEAVES the funding wallet, denominated in asset on network_id. For a DIRECT payment that is also what the payee receives. For a CONVERTED payment (the payee settles on a different asset or chain) it is the DEPOSIT into the conversion account, grossed up so the payee nets the requested figure — so it is LARGER than the payout and in a DIFFERENT asset. Never render it against output_asset.
The asset amount is denominated in — the asset that LEAVES the wallet. For a converted payment this is the deposit asset, not the one the payee receives (see output_asset).
Why the payment failed (e.g. the mandate gate's denied dimensions); absent unless status is failed.
The recipient this payment pays, when it was created from a destination. Absent for a direct-address payment (which carries no recipient).
The REAL destination this payment settles to — a bank (for an offramp) or a crypto destination. For an auto-account (convert-and-forward) payment, address is the crypto DEPOSIT actually paid while this names the bank/crypto target, so a client can show which account the scheduled payment is for. Absent for a direct-address payment.
The kind of the REAL destination (see destination_id). bank marks an offramp (the payment converts crypto to fiat and forwards via a bank rail); crypto a direct or cross-family crypto payout. Absent for a direct-address payment with no destination.
bank, crypto A human label for the real destination — e.g. "Chase ••••5432" for a bank, or a shortened address for crypto — so a client can show which account the payment settles to without a second lookup. Absent when unresolved.
For a bank destination, the payout rail (e.g. ach, fedwire, swift). Absent for crypto.
The asset the recipient ULTIMATELY receives. For an offramp this is the fiat currency (e.g. USD) the deposit converts to; for a direct crypto payment it equals asset. DO NOT PAIR THIS WITH amount: for a converted payment amount is the DEPOSIT — what leaves the wallet, in the deposit's own asset — and it is grossed up so the payee nets the requested figure, so a real payment reads amount 0.211112 and pays out 0.19. The rate is 1:1; the fee is not. This response carries no output amount, so a converted payment's payout figure is not available here.
For a crypto destination, the network the recipient ULTIMATELY receives on — for a cross-family swap this differs from network_id (the DEPOSIT network the wallet pays), e.g. output_network solana-devnet while network_id is base-sepolia. Equals network_id for a direct crypto payment; absent for a bank offramp (fiat has no network).
scheduled, cancelled, executed, failed 
