Skip to main content
Every transfer is one row with one outcome. The API returns two fields: stage, the internal state, and status, a SEP-24 word that says whose turn it is.

Stage paths

Deposits in direct mode start at FUNDED. A deposit_address deposit starts at AWAITING_FUNDS and moves to FUNDED when the address holds the quoted amount (polled every 10 seconds).

Status

pending_user means the next step is the user’s. When you see it, call getActions and show the action.

Shared rules

  • Expiry. A transfer expires after 24 hours, or the user can cancel it, as long as nothing irreversible happened (no burn, no OFT send, no Stellar debit). Funds that never left stay in the user’s wallet.
  • No refund edges. A confirmed burn or OFT send can only finish.
  • Late burns still finish. A valid burn submitted after expiry revives the transfer at SOURCE_SIGNED. Burn actions stop being issued 30 minutes before expiry.
  • Balance changes only on observation. CREDITED needs an observed Stellar arrival. DELIVERED needs the destination transaction observed on its chain.
  • Manual review has an owner. After 7 days in MANUAL_REVIEW with no match, a transfer becomes UNATTRIBUTED.