Alpine· Docs
Contents

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.

  1. 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" }
  2. 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 200 or 202 — both accepted. Available balance drops now, at reservation.

  3. 03 · Track

    Poll status until it settles or the ladder pauses.

    GET /v1/transfers/{transferRef}/status   → body.value.status

    Honest 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