> ## Documentation Index
> Fetch the complete documentation index at: https://docs.withconvexity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get transaction history

> Returns a paginated history of the business's transactions. Requires `wallet.transfer.read`.



## OpenAPI

````yaml GET /v1/wallet/transaction/history
openapi: 3.1.0
info:
  title: Convexity Infra API
  version: 1.0.0
  description: >-
    REST API reference for Convexity Infra: the backend services your business
    integrates to build and operate on-chain products. Every response is wrapped
    in a `{ status, message, data }` envelope and authorized with an OAuth 2.0
    bearer token minted by Auth-Edge.
  contact:
    name: Convexity Infra
    url: https://withconvexity.com
    email: infra@withconvexity.com
servers:
  - url: https://dev.api.withconvexity.com
    description: Development
security:
  - bearerAuth: []
tags:
  - name: Auth-Edge
    description: >-
      OAuth 2.0 token issuance. Exchange a project API key for a short-lived
      bearer token that authorizes every other Infra API call.
  - name: Projects
    description: >-
      Manage the calling project itself: rotate its API key pair and control
      which IP addresses may authenticate with it.
  - name: Payments
    description: >-
      List project and subscription payments, and mint virtual bank accounts
      (via KoraPay) for wallet top-ups and subscriptions.
  - name: Products
    description: >-
      Browse the products and capabilities available to your project. Each
      product maps to a plan and a set of capability keys.
  - name: Subscriptions
    description: List available plans and manage your project's subscriptions.
  - name: Wallet
    description: >-
      HD wallet lifecycle, balances, transfers, transaction signing, and
      supported-chain discovery. Wallets are scoped to the business in your
      token: accessing another business's wallet returns `403`.


      **Capabilities**: each operation is gated on a capability granted by your
      plan; a missing one returns `403: Missing required capability:
      <capability>`.


      | Capability | Grants |

      |---|---|

      | `wallet.hd.generate` | Generate wallets. |

      | `wallet.hd.read` | List and read wallets, counts, and HD status. |

      | `wallet.hd.sign` | Sign transactions. |

      | `wallet.hd.deactivate` | Deactivate a wallet. |

      | `wallet.transfer.create` | Initiate transfers. |

      | `wallet.transfer.read` | Read transaction history and records. |

      | `wallet.balance.read` | Read the USD balance. |
  - name: Indexer
    description: >-
      Subscribe to decoded on-chain events, receive signed webhooks, and inspect
      or replay delivery logs. Every endpoint requires a token with project +
      business context and a per-operation capability.
  - name: Tokenization
    description: >-
      Issue and manage tokenized real-world assets: create tokens, mint, burn,
      transfer, manage holders and registered wallets, and run yield operations
      (coupons, distributions, claims, and principal redemption).
paths:
  /v1/wallet/transaction/history:
    get:
      tags:
        - Wallet
      summary: Get transaction history
      description: >-
        Returns a paginated history of the business's transactions. Requires
        `wallet.transfer.read`.
      operationId: getTransactionHistory
      parameters:
        - name: chainType
          in: query
          schema:
            type: string
            enum:
              - EVM
              - SOLANA
          description: Filter by chain.
        - name: status
          in: query
          schema:
            type: string
          description: Filter by status (e.g. `COMPLETED`).
        - name: limit
          in: query
          schema:
            type: integer
            default: 20
          description: Page size.
        - name: offset
          in: query
          schema:
            type: integer
            default: 0
          description: Offset for pagination.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                status: true
                message: Transaction history retrieved
                data:
                  items:
                    - id: 9a1b2c3d-4e5f-6071-8293-a4b5c6d7e8f9
                      type: TRANSFER
                      chainType: EVM
                      network: MAINNET
                      chainId: 8453
                      signerType: BUSINESS_HD
                      fromAddress: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F'
                      addressIndex: 12
                      toAddress: '0x2222222222222222222222222222222222222222'
                      amount: '150.00'
                      valueUsd: '150.00'
                      tokenAddress: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
                      data: null
                      value: null
                      txHash: >-
                        0x9d8c7b6a5e4f3c2b1a0987654321fedcba9876543210abcdef1234567890abcd
                      status: COMPLETED
                      gasUsed: '70152'
                      feeWei: '12030000000000'
                      explorerUrl: https://basescan.org
                      explorerTxUrl: >-
                        https://basescan.org/tx/0x9d8c7b6a5e4f3c2b1a0987654321fedcba9876543210abcdef1234567890abcd
                      createdAt: '2026-07-03T08:14:02.771Z'
                      updatedAt: '2026-07-03T08:14:09.010Z'
                  pagination:
                    total: 1
                    limit: 20
                    offset: 0
                    hasMore: false
                    nextOffset: null
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
              example:
                status: false
                message: Authorization token is missing or malformed.
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
              example:
                status: false
                message: No subscription found for this product's plan
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
              examples:
                403_Forbidden_test_token:
                  summary: 403 Forbidden – test token
                  value:
                    status: false
                    message: Test tokens are not allowed, please use your live api key.
                403_Forbidden_capability_not_granted:
                  summary: 403 Forbidden – capability not granted
                  value:
                    status: false
                    message: Capability wallet.transfer.read not granted
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                type: object
              example:
                status: false
                message: Too many requests. Please try again later.
                retryAfter: 60
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 access token from Auth-Edge.

````