Sep24Transaction

public struct Sep24Transaction : Decodable, Sendable

Details of a single deposit or withdrawal transaction.

Contains comprehensive information about the transaction status, amounts, fees, and identifiers for both on-chain and off-chain components of the transaction.

See also:

  • id

    Unique, anchor-generated id for the deposit/withdrawal.

    Declaration

    Swift

    public let id: String
  • Type of transaction: deposit or withdrawal.

    Declaration

    Swift

    public let kind: String
  • Processing status of deposit/withdrawal.

    Declaration

    Swift

    public let status: String
  • Estimated number of seconds until a status change is expected.

    Declaration

    Swift

    public let statusEta: Int?
  • True if the anchor has verified the user’s KYC information for this transaction.

    Declaration

    Swift

    public let kycVerified: Bool?
  • A URL that is opened by wallets after the interactive flow is complete. It can include banking information for users to start deposits, the status of the transaction, or any other information the user might need to know about the transaction.

    Declaration

    Swift

    public let moreInfoUrl: String?
  • Amount received by anchor at start of transaction as a string with up to 7 decimals. Excludes any fees charged before the anchor received the funds.

    Declaration

    Swift

    public let amountIn: String?
  • The asset received or to be received by the Anchor. Must be present if the deposit/withdraw was made using non-equivalent assets. The value must be in SEP-38 Asset Identification Format.

    Declaration

    Swift

    public let amountInAsset: String?
  • Amount sent by anchor to user at end of transaction as a string with up to 7 decimals. Excludes amount converted to XLM to fund account and any external fees.

    Declaration

    Swift

    public let amountOut: String?
  • The asset delivered or to be delivered to the user. Must be present if the deposit/withdraw was made using non-equivalent assets. The value must be in SEP-38 Asset Identification Format.

    Declaration

    Swift

    public let amountOutAsset: String?
  • Amount of fee charged by anchor.

    Declaration

    Swift

    public let amountFee: String?
  • The asset in which fees are calculated in. Must be present if the deposit/withdraw was made using non-equivalent assets. The value must be in SEP-38 Asset Identification Format.

    Declaration

    Swift

    public let amountFeeAsset: String?
  • The ID of the quote used when creating this transaction. Should be present if a quote_id was included in the POST /transactions/deposit/interactive or POST /transactions/withdraw/interactive request. Clients should be aware that the quote_id may not be present in older implementations.

    Declaration

    Swift

    public let quoteId: String?
  • Start date and time of transaction.

    Declaration

    Swift

    public let startedAt: Date
  • Completion date and time of transaction.

    Declaration

    Swift

    public let completedAt: Date?
  • The date and time of transaction reaching the current status.

    Declaration

    Swift

    public let updatedAt: Date?
  • The date and time by when the user action is required. In certain statuses, such as pending_user_transfer_start or incomplete, anchor waits for the user action and user_action_required_by field should be used to show the time anchors gives for the user to make an action before transaction will automatically be moved into a different status (such as expired or to be refunded). user_action_required_by should only be specified for statuses where user action is required, and omitted for all other. Anchor should specify the action waited on using message or more_info_url.

    Declaration

    Swift

    public let userActionRequiredBy: Date?
  • Transaction_id on Stellar network of the transfer that either completed the deposit or started the withdrawal.

    Declaration

    Swift

    public let stellarTransactionId: String?
  • ID of transaction on external network that either started the deposit or completed the withdrawal.

    Declaration

    Swift

    public let externalTransactionId: String?
  • Human readable explanation of transaction status, if needed.

    Declaration

    Swift

    public let message: String?
  • Deprecated. This field is deprecated in favor of the refunds object and the refunded status. True if the transaction was refunded in full. False if the transaction was partially refunded or not refunded. For more details about any refunds, see the refunds object.

    Declaration

    Swift

    public let refunded: Bool?
  • An object describing any on or off-chain refund associated with this transaction.

    Declaration

    Swift

    public let refunds: Sep24Refund?
  • In case of deposit: Sent from address, perhaps BTC, IBAN, or bank account. In case of withdraw: Stellar address the assets were withdrawn from.

    Declaration

    Swift

    public let from: String?
  • to

    In case of deposit: Stellar address the deposited assets were sent to. In case of withdraw: Sent to address (perhaps BTC, IBAN, or bank account in the case of a withdrawal, Stellar address in the case of a deposit).

    Declaration

    Swift

    public let to: String?
  • This is the memo (if any) used to transfer the asset to the to Stellar address. Deposit transactions only.

    Declaration

    Swift

    public let depositMemo: String?
  • Type for the deposit_memo. Deposit transactions only.

    Declaration

    Swift

    public let depositMemoType: String?
  • ID of the Claimable Balance used to send the asset initially requested. Deposit transactions only.

    Declaration

    Swift

    public let claimableBalanceId: String?
  • If this is a withdrawal, this is the anchor’s Stellar account that the user transferred (or will transfer) their asset to. Withdrawal transactions only.

    Declaration

    Swift

    public let withdrawAnchorAccount: String?
  • Memo used when the user transferred to withdraw_anchor_account. Assigned null if the withdraw is not ready to receive payment, for example if KYC is not completed. Withdrawal transactions only.

    Declaration

    Swift

    public let withdrawMemo: String?
  • Memo type for withdraw_memo. Withdrawal transactions only.

    Declaration

    Swift

    public let withdrawMemoType: String?
  • Creates a new instance by decoding from the given decoder.

    Declaration

    Swift

    public init(from decoder: Decoder) throws

    Parameters

    decoder

    The decoder containing the data