---
title: "List blockchains with pagination and filtering"
method: GET
path: "/blockchain_link/blockchains"
tags: ["Blockchain link (Beta)"]
---

# List blockchains with pagination and filtering

`GET /blockchain_link/blockchains`

## Request

- Base URL: `https://api.fireblocks.io/v1`
- URL: `https://api.fireblocks.io/v1/blockchain_link/blockchains`
- Auth: none declared
- TypeScript: <https://skmtc.dev/fireblocks/apis/fireblocks-api/docs/blockchain_link/blockchains/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the tenant's blockchains, paginated and filterable by state, network environment, and free-text search, with configurable sorting.

## Query parameters

- `pageCursor` string
- `pageSize` number
- `search` string
- `status` BlockchainStateFilter[]
- `blockchainEnv` 'MAINNET' | 'TESTNET': Blockchain network environment.
- `sortBy` 'createdAt' | 'chainName' | 'symbolName' | 'status': Field to sort the blockchain list by.
- `order` 'ASC' | 'DESC'
- `statusExclude` BlockchainStateFilter[]

## Response `200`

OK

- ListBlockchainsResponse2
  - `data` Blockchain[], required: Blockchains for the current page.
    - `id` string, required: Unique blockchain identifier.
    - `blockchainState` 'BLOCKCHAIN_STATE_CREATED' | 'BLOCKCHAIN_STATE_ACTIVATING' | 'BLOCKCHAIN_STATE_ACTIVATED' | 'BLOCKCHAIN_STATE_DEACTIVATING' | 'BLOCKCHAIN_STATE_DEACTIVATED' | 'BLOCKCHAIN_STATE_TECHNICAL_FAILURE', required: Current lifecycle state of the blockchain.
    - `declaredProperties` BlockchainDeclaredProperties, required: Declared properties for blockchain configuration (create/update API and response) Only the fields sent by the API and returned in list/create/update responses.
      - `chainName` string, required: Human-readable name of the blockchain.
      - `chainId` number, required: EVM chain ID of the blockchain.
      - `symbolName` string, required: Native asset symbol of the blockchain.
      - `decimals` number: Number of decimals for the native asset.
      - `rpcUrls` string[], required: RPC endpoint URLs for the blockchain.
      - `environmentType` 'ENVIRONMENT_TYPE_MAINNET' | 'ENVIRONMENT_TYPE_TESTNET', required: Network environment (mainnet or testnet).
      - `blockExplorerUrl` string: Base URL of the block explorer.
      - `blockExplorerTransactionPath` string: Path template for a transaction on the block explorer.
      - `blockExplorerAddressPath` string: Path template for an address on the block explorer.
      - `networkId` number: EVM network ID of the blockchain.
      - `hasFee` boolean: Whether the blockchain charges transaction fees.
      - `isPoa` boolean: Whether the blockchain uses proof-of-authority consensus.
      - `hasLayeredFee` boolean: Whether the blockchain uses a layered fee model.
      - `nodeType` 'NODE_TYPE_CORE_GETH' | 'NODE_TYPE_FANTOM' | 'NODE_TYPE_ERIGON' | 'NODE_TYPE_PARITY' | 'NODE_TYPE_BESU': Node client type for the blockchain.
      - `transactionFormat` number: Transaction format identifier.
      - `baseAssetTenantIds` string[]: Tenant IDs that share this base asset.
      - `explorerApiUrl` string: Block explorer API base URL.
      - `explorerApiKey` string: API key for the block explorer API.
      - `isTraceEnabled` boolean: Whether trace/debug RPC methods are enabled.
      - `rpcAuth` BlockchainRpcAuth: Discriminated RPC auth payload. Sent on create/update so backend can distinguish "no auth" from "field unchanged" on PUT updates. Credential values are stored inside declaredProperties and fetched at activation time; they are deliberately not carried through workflow context.
        - `type` 'RPC_AUTH_BASIC' | 'RPC_AUTH_BEARER' | 'RPC_AUTH_CUSTOM_HEADER', required: Authentication scheme used when calling the RPC endpoint.
        - `username` string: Username for RPC_AUTH_BASIC authentication.
        - `password` string: Password for RPC_AUTH_BASIC authentication.
        - `token` string: Bearer token for RPC_AUTH_BEARER authentication.
        - `headerName` string: Header name for RPC_AUTH_CUSTOM_HEADER authentication.
        - `headerValue` string: Header value for RPC_AUTH_CUSTOM_HEADER authentication.
    - `createdAtUtc` number, required: Creation timestamp (epoch milliseconds, UTC).
    - `updatedAtUtc` number, required: Last update timestamp (epoch milliseconds, UTC).
    - `validationSessionId` string: Validation session data (optional - only present if validation session exists)
    - `validationStatus` 'VALIDATION_STATUS_PENDING' | 'VALIDATION_STATUS_IN_PROGRESS' | 'VALIDATION_STATUS_SUCCEEDED' | 'VALIDATION_STATUS_FAILED' | 'VALIDATION_STATUS_TECHNICAL_FAILURE': Status of the latest validation session.
    - `validationCreatedAtUtc` number: Validation session creation timestamp (epoch milliseconds, UTC).
    - `validationUpdatedAtUtc` number: Validation session last update timestamp (epoch milliseconds, UTC).
    - `validationCompletedAtUtc` number: Validation session completion timestamp (epoch milliseconds, UTC).
    - `validationFailureReasons` string[], required: Reasons the latest validation failed, if any.
    - `failedStep` 'FAILED_STEP_CONFIGURATION' | 'FAILED_STEP_RESOURCES_ALLOCATION' | 'FAILED_STEP_TEST_TX_EXTERNAL_TO_FIREBLOCKS' | 'FAILED_STEP_TEST_TX_FIREBLOCKS_TO_FIREBLOCKS': Business step at which the activation flow failed. Absent when no failure has been recorded.
  - `total` number, required: Total number of items across all pages, matching the current filter.
  - `next` string: Cursor for the next page; absent when the current page is the last. Opaque base64 blob bundling the target pageCursor and current query params (pageSize, search, status, statusExclude, blockchainEnv, sortBy, order).
  - `prev` string: Cursor for the previous page; absent when the current page is the first.

## Other responses

- `default`: Error Response

---

[API](https://skmtc.dev/fireblocks/apis/fireblocks-api.md) - [All operations](https://skmtc.dev/fireblocks/apis/fireblocks-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fireblocks/apis/fireblocks-api/revisions/4eba9965659a?raw)
