AnchorTransactionStatus

public enum AnchorTransactionStatus : String, Sendable

The processing status of a deposit or withdrawal transaction.

These statuses track the lifecycle of a transaction from initiation through completion, including various pending states that require action from different parties.

See SEP-6 Transaction Object

  • deposit/withdrawal fully completed

    Declaration

    Swift

    case completed = "completed"
  • deposit/withdrawal has been submitted to external network, but is not yet confirmed. This is the status when waiting on Bitcoin or other external crypto network to complete a transaction, or when waiting on a bank transfer.

    Declaration

    Swift

    case pendingExternal = "pending_external"
  • deposit/withdrawal is being processed internally by anchor

    Declaration

    Swift

    case pendingAnchor = "pending_anchor"
  • deposit/withdrawal operation has been submitted to Stellar network, but is not yet confirmed

    Declaration

    Swift

    case pendingStellar = "pending_stellar"
  • the user must add a trust-line for the asset for the deposit to complete

    Declaration

    Swift

    case pendingTrust = "pending_trust"
  • the user must take additional action before the deposit / withdrawal can complete

    Declaration

    Swift

    case pendingUser = "pending_user"
  • the user has not yet initiated their transfer to the anchor. This is the necessary first step in any deposit or withdrawal flow.

    Declaration

    Swift

    case pendingUserTransferStart = "pending_user_transfer_start"
  • means the Stellar payment has been successfully received by the anchor and the off-chain funds are available for the customer to pick up. Only used for withdrawal transactions.

    Declaration

    Swift

    case pendingUserTransferComplete = "pending_user_transfer_complete"
  • certain pieces of information need to be updated by the user.

    Declaration

    Swift

    case pendingCustomerInfoUpdate = "pending_customer_info_update"
  • certain pieces of information need to be updated by the user.

    Declaration

    Swift

    case pendingTransactionInfoUpdate = "pending_transaction_info_update"
  • there is not yet enough information for this transaction to be initiated. Perhaps the user has not yet entered necessary info in an interactive flow.

    Declaration

    Swift

    case incomplete = "incomplete"
  • could not complete deposit because no satisfactory asset/XLM market was available to create the account

    Declaration

    Swift

    case noMarket = "no_market"
  • deposit/withdrawal size less than min_amount

    Declaration

    Swift

    case tooSmall = "too_small"
  • deposit/withdrawal size exceeded max_amount

    Declaration

    Swift

    case tooLarge = "too_large"
  • catch-all for any error not enumerated above

    Declaration

    Swift

    case error = "error"
  • the deposit/withdrawal is fully refunded.

    Declaration

    Swift

    case refunded = "refunded"
  • the transaction has expired and is no longer valid. Normally this is due to the transaction_expiration_date being reached.

    Declaration

    Swift

    case expired = "expired"