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

# Lấy lịch sử ví

> Truy xuất toàn bộ lịch sử giao dịch của ví Solana với tính năng phân trang.

Mỗi yêu cầu tốn **100 tín dụng**.

## Tham số yêu cầu

<ParamField body="wallet" type="string" required default="GQUtvPx89ZNCwmvQqFmH59bJcU8fW8siETpaxod7Aydz">
  Địa chỉ ví Solana (được mã hóa bằng base58)
</ParamField>

<ParamField body="limit" type="number" default="100">
  Số lượng giao dịch tối đa cho mỗi yêu cầu
</ParamField>

<ParamField body="before" type="string">
  Tìm nạp các giao dịch trước chữ ký này (sử dụng `pagination.nextCursor` từ phản hồi trước)
</ParamField>

<ParamField body="after" type="string">
  Tìm nạp các giao dịch sau chữ ký này (để phân trang theo thứ tự tăng dần)
</ParamField>

<ParamField body="type" type="string">
  Lọc theo loại giao dịch. Các loại hiện có: SWAP, TRANSFER, NFT\_SALE, NFT\_BID, NFT\_LISTING,
  NFT\_MINT, NFT\_CANCEL\_LISTING, TOKEN\_MINT, BURN, COMPRESSED\_NFT\_MINT, COMPRESSED\_NFT\_TRANSFER,
  COMPRESSED\_NFT\_BURN, CREATE\_STORE, WHITELIST\_CREATOR, ADD\_TO\_WHITELIST, REMOVE\_FROM\_WHITELIST,
  AUCTION\_MANAGER\_CLAIM\_BID, EMPTY\_PAYMENT\_ACCOUNT, UPDATE\_PRIMARY\_SALE\_METADATA, ADD\_TOKEN\_TO\_VAULT,
  ACTIVATE\_VAULT, INIT\_VAULT, INIT\_BANK, INIT\_STAKE, MERGE\_STAKE, SPLIT\_STAKE, CREATE\_AUCTION\_MANAGER,
  START\_AUCTION, CREATE\_AUCTION\_MANAGER\_V2, UPDATE\_EXTERNAL\_PRICE\_ACCOUNT, EXECUTE\_TRANSACTION

  * `SWAP`
  * `TRANSFER`
  * `NFT_SALE`
  * `NFT_BID`
  * `NFT_LISTING`
  * `NFT_MINT`
  * `NFT_CANCEL_LISTING`
  * `TOKEN_MINT`
  * `BURN`
  * `COMPRESSED_NFT_MINT`
  * `COMPRESSED_NFT_TRANSFER`
  * `COMPRESSED_NFT_BURN`
  * `CREATE_STORE`
  * `WHITELIST_CREATOR`
  * `ADD_TO_WHITELIST`
  * `REMOVE_FROM_WHITELIST`
  * `AUCTION_MANAGER_CLAIM_BID`
  * `EMPTY_PAYMENT_ACCOUNT`
  * `UPDATE_PRIMARY_SALE_METADATA`
  * `ADD_TOKEN_TO_VAULT`
  * `ACTIVATE_VAULT`
  * `INIT_VAULT`
  * `INIT_BANK`
  * `INIT_STAKE`
  * `MERGE_STAKE`
  * `SPLIT_STAKE`
  * `CREATE_AUCTION_MANAGER`
  * `START_AUCTION`
  * `CREATE_AUCTION_MANAGER_V2`
  * `UPDATE_EXTERNAL_PRICE_ACCOUNT`
  * `EXECUTE_TRANSACTION`
</ParamField>

<ParamField body="tokenAccounts" type="string" default="balanceChanged">
  Lọc các giao dịch liên quan đến tài khoản token thuộc sở hữu của ví.

  * `balanceChanged` (khuyến nghị): Bao gồm các giao dịch đã thay đổi số dư token, đồng thời lọc thư rác
  * `none`: Chỉ các giao dịch tham chiếu trực tiếp đến ví
  * `all`: Tất cả giao dịch, bao gồm cả tài khoản token (có thể chứa thư rác)
    * `none`
    * `balanceChanged`
    * `all`
</ParamField>


## OpenAPI

````yaml vi/openapi/wallet-api/openapi.yaml GET /v1/wallet/{wallet}/history
openapi: 3.0.3
info:
  title: Wallet API
  description: >
    REST API hiệu năng cao để truy vấn dữ liệu ví Solana, bao gồm số dư, lịch sử
    giao dịch, chuyển khoản và thông tin danh tính.


    ## Xác thực


    Mọi yêu cầu đều cần khóa API được truyền theo một trong hai cách:

    - Tham số truy vấn: `?api-key=YOUR_API_KEY`

    - Tiêu đề: `X-Api-Key: YOUR_API_KEY`
  version: 1.0.0
  contact:
    name: Hỗ trợ API
    url: https://helius.dev
servers:
  - url: https://api.helius.xyz
    description: Máy chủ sản xuất
security:
  - ApiKeyQuery: []
  - ApiKeyHeader: []
tags:
  - name: Danh tính
    description: Tra cứu danh tính ví và các địa chỉ đã biết
  - name: Số dư
    description: Truy vấn số dư token và NFT
  - name: Lịch sử
    description: Lịch sử giao dịch và thay đổi số dư
  - name: Chuyển khoản
    description: Hoạt động chuyển token
  - name: Cấp vốn
    description: Thông tin cấp vốn cho ví
paths:
  /v1/wallet/{wallet}/history:
    get:
      tags:
        - Lịch sử
      summary: Lấy lịch sử giao dịch
      description: >
        Truy xuất lịch sử giao dịch của một ví bằng Enhanced Transactions API.

        Trả về các giao dịch đã phân tích, dễ đọc cùng với thay đổi số dư của
        từng giao dịch.

        **Phân trang thủ công** - API trả về tối đa 100 giao dịch mỗi yêu cầu.


        Trả về giao dịch theo thứ tự thời gian ngược (mới nhất trước).


        **Tài khoản token liên kết (ATA):** Tham số `tokenAccounts` kiểm soát
        việc có bao gồm các giao dịch

        liên quan đến tài khoản token thuộc sở hữu của ví hay không:

        - `balanceChanged` (khuyến nghị): Bao gồm giao dịch làm thay đổi số dư
        tài khoản token và lọc thư rác

        - `none`: Chỉ các tương tác trực tiếp với ví

        - `all`: Tất cả giao dịch tài khoản token, bao gồm cả thư rác


        **Phân trang:** Dùng tham số `before` với `pagination.nextCursor` để tải
        trang tiếp theo.

        Phản hồi bao gồm `pagination.hasMore` để cho biết còn kết quả hay không.

        Mỗi yêu cầu thực hiện một lệnh gọi API và tốn 100 credit.
      operationId: getWalletHistory
      parameters:
        - $ref: '#/components/parameters/WalletAddress'
        - name: limit
          in: query
          description: Số giao dịch tối đa trên mỗi yêu cầu
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 100
          example: 100
        - name: before
          in: query
          description: >-
            Tải các giao dịch trước chữ ký này (dùng `pagination.nextCursor` từ
            phản hồi trước)
          schema:
            type: string
          example: 5wHu1qwD7Jsj3xqWjdSEJmYr3Q5f5RjXqjqQJ7jqEj7jqEj7jqEj7jqEj7jqEj7jqE
        - name: after
          in: query
          description: >-
            Tải các giao dịch sau chữ ký này (để phân trang theo thứ tự tăng
            dần)
          schema:
            type: string
          example: 5wHu1qwD7Jsj3xqWjdSEJmYr3Q5f5RjXqjqQJ7jqEj7jqEj7jqEj7jqEj7jqEj7jqE
        - name: type
          in: query
          description: >
            Lọc theo loại giao dịch. Các loại khả dụng: SWAP, TRANSFER,
            NFT_SALE, NFT_BID, NFT_LISTING,

            NFT_MINT, NFT_CANCEL_LISTING, TOKEN_MINT, BURN, COMPRESSED_NFT_MINT,
            COMPRESSED_NFT_TRANSFER,

            COMPRESSED_NFT_BURN, CREATE_STORE, WHITELIST_CREATOR,
            ADD_TO_WHITELIST, REMOVE_FROM_WHITELIST,

            AUCTION_MANAGER_CLAIM_BID, EMPTY_PAYMENT_ACCOUNT,
            UPDATE_PRIMARY_SALE_METADATA, ADD_TOKEN_TO_VAULT,

            ACTIVATE_VAULT, INIT_VAULT, INIT_BANK, INIT_STAKE, MERGE_STAKE,
            SPLIT_STAKE, CREATE_AUCTION_MANAGER,

            START_AUCTION, CREATE_AUCTION_MANAGER_V2,
            UPDATE_EXTERNAL_PRICE_ACCOUNT, EXECUTE_TRANSACTION
          schema:
            type: string
            enum:
              - SWAP
              - TRANSFER
              - NFT_SALE
              - NFT_BID
              - NFT_LISTING
              - NFT_MINT
              - NFT_CANCEL_LISTING
              - TOKEN_MINT
              - BURN
              - COMPRESSED_NFT_MINT
              - COMPRESSED_NFT_TRANSFER
              - COMPRESSED_NFT_BURN
              - CREATE_STORE
              - WHITELIST_CREATOR
              - ADD_TO_WHITELIST
              - REMOVE_FROM_WHITELIST
              - AUCTION_MANAGER_CLAIM_BID
              - EMPTY_PAYMENT_ACCOUNT
              - UPDATE_PRIMARY_SALE_METADATA
              - ADD_TOKEN_TO_VAULT
              - ACTIVATE_VAULT
              - INIT_VAULT
              - INIT_BANK
              - INIT_STAKE
              - MERGE_STAKE
              - SPLIT_STAKE
              - CREATE_AUCTION_MANAGER
              - START_AUCTION
              - CREATE_AUCTION_MANAGER_V2
              - UPDATE_EXTERNAL_PRICE_ACCOUNT
              - EXECUTE_TRANSACTION
          example: SWAP
        - name: tokenAccounts
          in: query
          description: >
            Lọc các giao dịch liên quan đến tài khoản token thuộc sở hữu của ví.

            - `balanceChanged` (khuyến nghị): Bao gồm giao dịch làm thay đổi số
            dư token và lọc thư rác

            - `none`: Chỉ các giao dịch tham chiếu trực tiếp đến ví

            - `all`: Tất cả giao dịch, bao gồm tài khoản token (có thể chứa thư
            rác)
          schema:
            type: string
            enum:
              - none
              - balanceChanged
              - all
            default: balanceChanged
          example: balanceChanged
      responses:
        '200':
          description: Đã truy xuất lịch sử giao dịch thành công
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HistoryResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  parameters:
    WalletAddress:
      name: wallet
      in: path
      required: true
      description: Địa chỉ ví Solana (được mã hóa base58)
      schema:
        type: string
        pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$
        default: GQUtvPx89ZNCwmvQqFmH59bJcU8fW8siETpaxod7Aydz
      example: GQUtvPx89ZNCwmvQqFmH59bJcU8fW8siETpaxod7Aydz
  schemas:
    HistoryResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/HistoryTransaction'
        pagination:
          $ref: '#/components/schemas/Pagination'
      required:
        - data
        - pagination
    HistoryTransaction:
      type: object
      properties:
        signature:
          type: string
          description: Chữ ký giao dịch
          example: 5wHu1qwD7Jsj3xqWjdSEJmYr3Q5f5RjXqjqQJ7jqEj7jqEj7jqEj7jqEj7jqEj7jqE
        timestamp:
          type: integer
          nullable: true
          description: Dấu thời gian Unix tính bằng giây
          example: 1704067200
        slot:
          type: integer
          description: Số slot
          example: 250000000
        fee:
          type: number
          description: Phí giao dịch tính bằng SOL
          example: 0.000005
        feePayer:
          type: string
          description: Địa chỉ đã thanh toán phí giao dịch
          example: GQUtvPx89ZNCwmvQqFmH59bJcU8fW8siETpaxod7Aydz
        error:
          type: string
          nullable: true
          description: Thông báo lỗi nếu giao dịch thất bại
          example: null
        balanceChanges:
          type: array
          items:
            $ref: '#/components/schemas/BalanceChange'
          description: Tất cả thay đổi số dư trong giao dịch này
      required:
        - signature
        - slot
        - fee
        - feePayer
        - balanceChanges
    Pagination:
      type: object
      properties:
        hasMore:
          type: boolean
          description: Cho biết còn kết quả hay không
          example: true
        nextCursor:
          type: string
          nullable: true
          description: Con trỏ để tải trang kết quả tiếp theo
          example: 5wHu1qwD7Jsj3xqWjdSEJmYr3Q5f5RjXqjqQJ7jqEj7jqEj7jqEj7jqEj7jqEj7jqE
      required:
        - hasMore
    Error:
      type: object
      properties:
        error:
          type: string
          description: Thông báo lỗi
          example: Địa chỉ ví không hợp lệ
        code:
          type: integer
          description: Mã trạng thái HTTP
          example: 400
        details:
          type: string
          description: Chi tiết bổ sung về lỗi
          example: '''invalid-address'' không phải là địa chỉ Solana hợp lệ'
      required:
        - error
        - code
    BalanceChange:
      type: object
      properties:
        mint:
          type: string
          description: Địa chỉ mint của token (hoặc 'SOL' đối với token gốc)
          example: So11111111111111111111111111111111111111112
        amount:
          type: number
          description: Giá trị thay đổi (dương khi tăng, âm khi giảm)
          example: -0.05
        decimals:
          type: integer
          description: Số chữ số thập phân của token
          example: 9
      required:
        - mint
        - amount
        - decimals
  responses:
    BadRequest:
      description: Tham số yêu cầu không hợp lệ
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Địa chỉ ví không hợp lệ
            code: 400
            details: '''invalid-address'' không phải là địa chỉ Solana hợp lệ'
    Unauthorized:
      description: Thiếu khóa API hoặc khóa API không hợp lệ
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Cần có khóa API. Truyền qua ?api-key=xxx hoặc tiêu đề X-Api-Key
            code: 401
    RateLimited:
      description: Đã vượt quá giới hạn tốc độ.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: RATE_LIMIT_EXCEEDED
            code: 429
            details: Quá nhiều yêu cầu. Hãy thử lại sau 2 giây.
    InternalError:
      description: Lỗi máy chủ tạm thời. Có thể thử lại với cơ chế lùi theo cấp số nhân.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: INTERNAL_ERROR
            code: 500
            details: Đã xảy ra lỗi không mong muốn. Vui lòng thử lại.
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: Khóa API được truyền dưới dạng tham số truy vấn
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-Api-Key
      description: Khóa API được truyền trong tiêu đề yêu cầu

````