Skip to main content
A Transfer is the payment instruction you create. It has a transfer_intent_ id, one rail-specific lifecycle, and the requested amount and endpoints. A Transaction is one account impact produced by that instruction. It has an agg_tx_ id and appears in the transaction feed. One transfer can produce several transactions:
  • the debit from the sending balance
  • the credit to another Slash balance for a book transfer
  • a later credit when a network transfer is returned
  • a separate fee
Transfer.transactionIds lists the resulting transaction ids. Each related Transaction carries the same transferId, so you can move in either direction:
  1. Create or retrieve the Transfer to follow the payment lifecycle.
  2. Use GET /v2/transactions with transferId to reconcile every account impact.
  3. Retrieve a Transaction when you need the latest state of one leg.
Creating a transfer returns a Transfer, not one arbitrarily selected Transaction.

Which endpoint to use

Use GET /v2/transfers to list across every rail and GET /v2/transfers/{transferId} when you have an id but do not know its rail. If an id is sent to the wrong rail-specific retrieve endpoint, the API returns 404 not_found.

Amounts and statuses

Transfer amount is the positive amount requested by the caller. Transaction amountCents is signed from the containing account’s perspective: a debit is negative and a credit is positive. A Transfer status answers whether the payment instruction is waiting, submitted, settled, failed, canceled, or returned. A Transaction status answers what happened to one account impact. Do not infer one from the other; use each resource’s documented status.