# List transactions

Returns a paginated list of transactions, optionally filtered by types and statuses.

Endpoint: GET /v1/stablecoin/transactions
Version: 1.0.0
Security: oauth2

## Query parameters:

  - `types` (array)
    Filter by transaction type. Repeatable.
    Enum: "ISSUANCE", "REDEMPTION", "BRIDGE"

  - `statuses` (array)
    Filter by status. Repeatable.
    Enum: "PROCESSING", "PENDING", "COMPLETED", "FAILED", "CANCELED"

  - `walletRipId` (string)
    Wallet ripId on either endpoint.

  - `address` (string)
    Address on either endpoint.

  - `chain` (string)
    Chain on either endpoint.

  - `transactionHash` (string)
    Transaction hash on either endpoint.

  - `counterpartyAddress` (string)
    Counterparty address on either endpoint.

  - `memo` (string)
    Memo on either endpoint.

  - `fiatInstructionId` (string)
    Fiat instruction id on either endpoint.

  - `sourceType` (string)
    Exact source endpoint type filter.
    Enum: "FIAT", "CRYPTO"

  - `sourceWalletRipId` (string)

  - `sourceAddress` (string)

  - `sourceChain` (string)

  - `sourceTransactionHash` (string)

  - `sourceCounterpartyAddress` (string)

  - `sourceMemo` (string)

  - `destinationType` (string)
    Exact destination endpoint type filter.
    Enum: same as `sourceType` (2 values)

  - `destinationWalletRipId` (string)

  - `destinationAddress` (string)

  - `destinationChain` (string)

  - `destinationTransactionHash` (string)

  - `destinationCounterpartyAddress` (string)

  - `destinationMemo` (string)

  - `page` (integer)
    Page number, 0-indexed (default 0)

  - `size` (integer)
    Page size (default 20)

  - `sort` (string)
    Sort field and direction (default: updatedAt,desc).
Supported fields: updatedAt, createdAt, type, status, amount.

  - `transactionTypes` (array)
    Deprecated; use types. Ignored when types is provided. Repeatable.
    Enum: same as `types` (3 values)

## Response 200 fields (application/json):

  - `content` (array)

  - `content.id` (string, required)
    Unique transaction identifier

  - `content.type` (string,null)
    Transaction type. Null while the transaction is PENDING (flexible redemption)
and a destination has not yet been chosen.
    Enum: same as `types` (3 values)

  - `content.status` (string, required)
    Current transaction status. COMPLETED, FAILED, and CANCELED are terminal.
CANCELED currently applies to ISSUANCE transactions canceled before settlement.
PENDING applies to flexible-redemption transactions awaiting approval via
[Approve a pending redemption](#operation/updateTransactionDestination); type and
destination are null until approved.
    Enum: same as `statuses` (5 values)

  - `content.amount` (string, required)
    Transaction amount as a decimal string (e.g. "10000.00")

  - `content.token` (string, required)
    Always RLUSD
    Enum: "RLUSD"

  - `content.source` (object, required)

  - `content.source.type` (string, required)
    Endpoint type
    Enum: same as `sourceType` (2 values)

  - `content.source.walletRipId` (string,null)
    Wallet ripId (e.g. RIP0000001). Present when type is CRYPTO.

  - `content.source.address` (string,null)
    The customer's on-chain address on this leg. Present when type is CRYPTO
and the on-chain leg has been initiated. EVM addresses include the 0x prefix.

  - `content.source.chain` (string,null)
    Blockchain network name (e.g. XRPL, ETH). Present when type is CRYPTO.

  - `content.source.transactionHash` (string,null)
    On-chain transaction hash for this leg. Present when the on-chain leg has settled.
EVM chains (e.g. ETH) return the hash with the 0x prefix; XRPL hashes are
uppercase hex without a prefix.

  - `content.source.counterpartyAddress` (string,null)
    The Ripple-side internal account address that participated in this on-chain leg
(the counterparty to your wallet). Present when type is CRYPTO and the on-chain leg
has been initiated. EVM addresses include the 0x prefix.

  - `content.source.fiatInstructionId` (string,null)
    The [fiat instruction](#tag/Fiat-instructions) this leg was matched to. Only a FIAT
leg carries one, and only when the leg referenced an instruction you own.

  - `content.source.memo` (string,null)
    Routing memo of the matched fiat instruction. Only a FIAT leg carries one; always
absent on a CRYPTO leg.
    Example: "RL7Q3K9ZP2MTX4VB"

  - `content.destination` (object,null)
    Destination endpoint. Null while the transaction is PENDING (flexible redemption)
and a destination has not yet been chosen.

  - `content.destination.type` (string, required)
    Endpoint type
    Enum: same as `sourceType` (2 values)

  - `content.destination.walletRipId` (string,null)
    Wallet ripId (e.g. RIP0000001). Present when type is CRYPTO.

  - `content.destination.address` (string,null)
    The customer's on-chain address on this leg. Present when type is CRYPTO
and the on-chain leg has been initiated. EVM addresses include the 0x prefix.

  - `content.destination.chain` (string,null)
    Blockchain network name (e.g. XRPL, ETH). Present when type is CRYPTO.

  - `content.destination.transactionHash` (string,null)
    On-chain transaction hash for this leg. Present when the on-chain leg has settled.
EVM chains (e.g. ETH) return the hash with the 0x prefix; XRPL hashes are
uppercase hex without a prefix.

  - `content.destination.counterpartyAddress` (string,null)
    The Ripple-side internal account address that participated in this on-chain leg
(the counterparty to your wallet). Present when type is CRYPTO and the on-chain leg
has been initiated. EVM addresses include the 0x prefix.

  - `content.destination.fiatInstructionId` (string,null)
    The [fiat instruction](#tag/Fiat-instructions) this leg was matched to. Only a FIAT
leg carries one, and only when the leg referenced an instruction you own.

  - `content.destination.memo` (string,null)
    Routing memo of the matched fiat instruction. Only a FIAT leg carries one; always
absent on a CRYPTO leg.
    Example: "RL7Q3K9ZP2MTX4VB"

  - `content.createdAt` (string, required)
    Timestamp when the transaction was created

  - `content.updatedAt` (string, required)
    Timestamp when the transaction was last updated

  - `totalElements` (integer)
    Total number of matching transactions

  - `totalPages` (integer)
    Total number of pages

  - `size` (integer)
    Page size

  - `number` (integer)
    Current page number (0-indexed)

## Response 400 fields (application/problem+json):

  - `type` (string)
    URI reference identifying the problem type

  - `title` (string)
    Short, human-readable summary of the problem

  - `status` (integer)
    HTTP status code

  - `code` (string)
    Machine-readable error code
    Enum: "TRANSACTION_NOT_FOUND", "TRANSACTION_INVALID_STATUS_TRANSITION", "TRANSACTION_DESTINATION_TYPE_IMMUTABLE", "FIAT_INSTRUCTION_NOT_FOUND", "FIAT_INSTRUCTION_ALREADY_EXISTS", "FIAT_INSTRUCTION_INVALID_STATUS_TRANSITION", "STABLECOIN_BANK_DETAILS_NOT_FOUND", "WALLET_NOT_FOUND", "WALLET_NOT_APPROVED", "FORBIDDEN", "UPSTREAM_UNAVAILABLE", "INVALID_REQUEST_BODY", "UNKNOWN_EXCEPTION"


