Before submission
Approval, scheduling, and queuing each add a status before submission, always in this order. A transfer skips any that don’t apply:pending_approvalwhile a required approver has not actedscheduledwhile waiting for the scheduled time. Transfers created through the API are never scheduled; this status appears for transfers scheduled in the dashboard.pendingthenpending_destinationfor a queued payment:pendingwhile Slash places a hold on the source account, thenpending_destinationonce the funds are held and until the recipient answers the information request and claims the payment
pending twice. First, Slash is placing a hold on the
source account and nothing has been sent to the network. After the recipient
claims the payment, it is pending again, now queued for network submission.
If the hold can’t be placed, the transfer becomes failed.
Combinations
Each row is one combination and the statuses a realtime transfer passes through before it is queued for network submission.Submission and settlement
This chart picks up where the one above ends: atpending, queued for
network submission. It can pause in in_review and then becomes settled, failed, or
canceled. There is no returned lifecycle state.
Canceling
Cancel withPOST /v2/transfers/realtime/{transferId}/cancel while the transfer is
still pre-submission, including destination, approval, review, and scheduling
holds. Once the transfer has been sent to the network, cancellation returns
409. Cancellation is idempotent after it succeeds. A rejected approval also
ends the transfer as canceled, and Slash can cancel a transfer before
submission.
Tracking status
Treat the create response as acceptance, not settlement. RetrieveGET /v2/transfers/realtime/{transferId} until it reaches a final status, or
use the webhook’s entityId to retrieve a Transaction, then follow its
transferId.