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

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.ton.org/feedback

```json
{
  "path": "/ecosystem/api/toncenter/v2/accounts/get-wallet-information",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Get wallet information

> Returns wallet-specific information for an address. If the address is a known wallet contract, returns the wallet type, current `seqno` (needed for sending transactions), and wallet_id. Always check `wallet: true` before using wallet-specific fields. Call this before sending any transaction to get the current `seqno`.



## OpenAPI

````yaml get /api/v2/getWalletInformation
openapi: 3.1.1
info:
  title: TON HTTP API C++
  description: >
    This API enables HTTP access to TON blockchain - getting accounts and
    wallets information, looking up blocks and transactions, sending messages to
    the blockchain, calling get methods of smart contracts, and more.


    In addition to REST API, all methods are available through a JSON-RPC
    endpoint  with `method` equal to method name and `params` passed as a
    dictionary.


    The response contains a JSON object, which always has a boolean field `ok`
    and either `error` or `result`. If `ok` equals true, the request was
    successful and the result of the query can be found in the `result` field.
    In case of an unsuccessful request, `ok` equals false and the error is
    explained in the `error`.


    API Key should be sent either as `api_key` query parameter or `X-API-Key`
    header
  version: 2.1.1
servers:
  - url: https://toncenter.com
    description: TON Mainnet
  - url: https://testnet.toncenter.com
    description: TON Testnet
security: []
tags:
  - name: Accounts
    description: Information about accounts
  - name: Transactions
    description: Fetching and locating transactions
  - name: Blocks
    description: Information about blocks
  - name: Run method
    description: Run get-method of smart contracts
  - name: Send
    description: Send data to blockchain
  - name: Utils
    description: Some useful methods
  - name: Configuration
    description: Information about blockchain config
  - name: RPC
    description: JSON-RPC and POST endpoints
paths:
  /api/v2/getWalletInformation:
    get:
      tags:
        - Accounts
      summary: Get wallet information
      description: >-
        Returns wallet-specific information for an address. If the address is a
        known wallet contract, returns the wallet type, current `seqno` (needed
        for sending transactions), and wallet_id. Always check `wallet: true`
        before using wallet-specific fields. Call this before sending any
        transaction to get the current `seqno`.
      operationId: getWalletInformation_get
      parameters:
        - $ref: '#/components/parameters/address'
        - $ref: '#/components/parameters/seqnoOptional'
      responses:
        '200':
          description: >-
            Returns wallet-specific details: type, `seqno`, subwallet ID, and
            balance.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletInformationResponse'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '422':
          $ref: '#/components/responses/422_address'
        '429':
          $ref: '#/components/responses/429'
        '504':
          $ref: '#/components/responses/504'
      security:
        - APIKeyHeader: []
        - APIKeyQuery: []
components:
  parameters:
    address:
      name: address
      in: query
      required: true
      schema:
        $ref: '#/components/schemas/TonAddr'
      description: The account address to query.
    seqnoOptional:
      name: seqno
      in: query
      description: >-
        Query state at a specific block height. If omitted, returns the current
        state. Use this to look up historical data at a specific point in time.
      required: false
      schema:
        type: integer
        format: int32
  schemas:
    WalletInformationResponse:
      type: object
      additionalProperties: false
      required:
        - ok
        - result
      properties:
        ok:
          type: boolean
          default: true
          description: >-
            Returns `true` if the request succeeded; otherwise `false`. See the
            `error` field for details.
        result:
          $ref: '#/components/schemas/WalletInformation'
          description: Response data. Present only when `ok` is `true`.
        '@extra':
          type: string
          description: >-
            Optional request ID that can be passed in the request and received
            back in the response. Useful for matching async responses.
    TonAddr:
      type: string
      x-usrv-cpp-type: ton_http::types::ton_addr
      description: >-
        Account address in [raw](/foundations/addresses/formats#raw-format)
        format (e.g., `0:ca6e321c...`) or
        [user-friendly](/foundations/addresses/formats#user-friendly-format)
        format (e.g., `EQDKbjIcfM...`). All formats are automatically detected.
    WalletInformation:
      type: object
      additionalProperties: false
      properties:
        '@type':
          type: string
          enum:
            - ext.accounts.walletInformation
          default: ext.accounts.walletInformation
          description: >-
            TonLib type identifier for wallet info responses. Refer to the
            [TonLib type reference](/ecosystem/api/toncenter/v2-tonlib-types)
            for a full list.
        wallet:
          type: boolean
          description: >-
            Returns `true` if this address is a recognized wallet contract type;
            otherwise `false`.
        balance:
          type: string
          x-usrv-cpp-type: ton_http::types::int256
          description: Account balance in nanotons as a decimal string.
        account_state:
          $ref: '#/components/schemas/AccountStateEnum'
          description: 'Account lifecycle state: `uninit`, `active`, or `frozen`.'
        last_transaction_id:
          $ref: '#/components/schemas/InternalTransactionId'
          description: >-
            Reference to the most recent transaction. Use as starting point for
            getTransactions.
        wallet_type:
          type: string
          enum:
            - wallet v1 r1
            - wallet v1 r2
            - wallet v1 r3
            - wallet v2 r1
            - wallet v2 r2
            - wallet v3 r1
            - wallet v3 r2
            - wallet v4 r1
            - wallet v4 r2
            - wallet v5 beta
            - wallet v5 r1
          description: >-
            Wallet contract version (e.g., `wallet v4 r2`, `wallet v5 r1`).
            Empty if not a recognized wallet.
        seqno:
          type: integer
          format: int64
          description: >-
            Wallet contract sequence number. Used for replay protection: each
            outgoing transaction must include the current `seqno` and increments
            it by 1. Fetch the current value before sending a transaction.
        wallet_id:
          type: integer
          description: >-
            Subwallet ID for v3+ wallets. Allows creating multiple wallets from
            one key. The default value is `0x29a9a317` (698983191) on both
            mainnet and testnet, derived from the first 4 bytes of the TON
            mainnet initial state hash. Note: v5 wallets use a different scheme
            with network-specific values to prevent cross-network transaction
            replay. Refer to the [wallet interaction
            guide](/standard/wallets/interact) for full details.
        is_signature_allowed:
          type: boolean
          description: >-
            Returns `true` if external signatures are enabled (v5 wallets only);
            `false` means the wallet is controlled only by plugins.
      required:
        - '@type'
        - wallet
        - balance
        - account_state
        - last_transaction_id
      description: >-
        Information about a wallet account. The `wallet` field indicates if this
        is a known wallet type. If true, `wallet_type`, `seqno`, and `wallet_id`
        will be populated. Check `seqno` before sending transactions.
    AccountStateEnum:
      type: string
      enum:
        - uninitialized
        - active
        - frozen
      description: >-
        The lifecycle state of an account: `uninitialized` (no contract
        deployed), `active` (contract working normally), or `frozen` (suspended
        due to zero balance). Refer to the [account lifecycle states
        documentation](/foundations/status) for details.
    InternalTransactionId:
      type: object
      additionalProperties: false
      description: >-
        A reference to a specific transaction. The combination of `lt` (logical
        time) and `hash` uniquely identifies any transaction. Use these values
        for pagination and lookups.
      properties:
        '@type':
          type: string
          enum:
            - internal.transactionId
          default: internal.transactionId
          description: >-
            TonLib type identifier for transaction ID references. Refer to the
            [TonLib type reference](/ecosystem/api/toncenter/v2-tonlib-types)
            for a full list.
        lt:
          type: string
          description: >-
            Logical time of this transaction. A globally unique counter that
            orders all events on the blockchain.
          x-usrv-cpp-type: std::int64_t
        hash:
          $ref: '#/components/schemas/TonHash'
          description: SHA-256 hash of this transaction, encoded in base64.
      required:
        - '@type'
        - lt
        - hash
    TonHash:
      type: string
      x-usrv-cpp-type: ton_http::types::ton_hash
      description: >-
        A 256-bit hash value. Accepts either hex format (64 characters) or
        base64 format (44 characters). Used for block hashes, transaction
        hashes, and cryptographic proofs.
  responses:
    '401':
      description: API key does not exist. Check for typos or generate a new key.
      content:
        application/json:
          schema:
            type: object
            additionalProperties: false
            required:
              - ok
              - code
              - error
            properties:
              ok:
                type: boolean
                const: false
                description: Always `false` for error responses.
              code:
                type: integer
                const: 401
                description: HTTP status code `401`.
              error:
                type: string
                enum:
                  - API key does not exist
              '@extra':
                type: string
                description: Extra data passed through from the request.
          example:
            ok: false
            code: 401
            error: API key does not exist
    '403':
      description: >-
        API key is not allowed for this network (e.g. testnet key used on
        mainnet).
      content:
        application/json:
          schema:
            type: object
            additionalProperties: false
            required:
              - ok
              - code
              - error
            properties:
              ok:
                type: boolean
                const: false
                description: Always `false` for error responses.
              code:
                type: integer
                const: 403
                description: HTTP status code `403`.
              error:
                type: string
                enum:
                  - Network not allowed
              '@extra':
                type: string
                description: Extra data passed through from the request.
          example:
            ok: false
            code: 403
            error: Network not allowed
    '429':
      description: >-
        Rate limit exceeded. Back off and retry, or use an API key for higher
        limits.
      content:
        application/json:
          schema:
            type: object
            additionalProperties: false
            required:
              - ok
              - code
              - error
            properties:
              ok:
                type: boolean
                const: false
                description: Always `false` for error responses.
              code:
                type: integer
                const: 429
                description: HTTP status code `429`.
              error:
                type: string
                enum:
                  - Ratelimit exceeded
              '@extra':
                type: string
                description: Extra data passed through from the request.
          example:
            ok: false
            code: 429
            error: Ratelimit exceeded
    '504':
      description: Timeout waiting for liteserver response.
      content:
        application/json:
          schema:
            type: object
            additionalProperties: false
            required:
              - ok
              - code
              - error
            properties:
              ok:
                type: boolean
                const: false
                description: Always `false` for error responses.
              code:
                type: integer
                const: 504
                description: HTTP status code `504`.
              error:
                type: string
                enum:
                  - LITE_SERVER_NETWORK timeout
              '@extra':
                type: string
                description: Extra data passed through from the request.
          example:
            ok: false
            code: 504
            error: LITE_SERVER_NETWORK timeout
    422_address:
      description: Invalid address or `seqno` parameter.
      content:
        application/json:
          schema:
            type: object
            additionalProperties: false
            required:
              - ok
              - code
              - error
            properties:
              ok:
                type: boolean
                const: false
                description: Always `false` for error responses.
              code:
                type: integer
                const: 422
                description: HTTP status code `422`.
              error:
                type: string
                enum:
                  - empty address
                  - failed to parse address
                  - failed to parse seqno
                  - seqno should be positive
              '@extra':
                type: string
                description: Extra data passed through from the request.
          example:
            ok: false
            code: 422
            error: empty address
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        API key header of the form `X-API-Key: <token>`, where `<token>` is the
        API key. Requests without a key are limited to 1 RPS. Refer to the
        [authentication guide](/ecosystem/api/toncenter/v2-authentication) for
        details.
    APIKeyQuery:
      type: apiKey
      in: query
      name: api_key
      description: >-
        API key query parameter of the form `?api_key=<token>`, where `<token>`
        is the API key. Equivalent to the header method. Refer to the
        [authentication guide](/ecosystem/api/toncenter/v2-authentication) for
        details.

````