Guides
Move money
Quote a transfer, create it, and read where the status ladder pauses.
Quote the movement, create the transfer, then follow the ladder. It will not complete in one call — that is the point.
01 · Quote
A quote reads the price without committing; source and destination are locator triples.
POST /v1/transfers/quote { "sourceAccountRef": "…", "sourceEndpointRef": "…", "sourceHoldingRef": "…", "destination": { "kind": "internal-endpoint", "accountRef": "…", "endpointRef": "…" }, "valueUnit": { "kind": "fiat", "currency": "NGN" }, "amountMinorUnits": "4000" }02 · Create
The same shape, now a command — carry an
Idempotency-Key. The source must be able to send (a collection child, not a plain wallet).POST /v1/transfers Idempotency-Key: <uuid> { "sourceEndpointRef": "…", …, "amountMinorUnits": "4000" }It answers
200or202— both accepted. Available balance drops now, at reservation.03 · Track
Poll status until it settles or the ladder pauses.
GET /v1/transfers/{transferRef}/status → body.value.statusHonest edge
An internal destination parks at
awaiting_finality: there is no public completion for it today. The status read tells you so plainly.
gateway 0.1.0 · sandbox
