---
title: "Get contract metadata."
method: GET
path: "/api/v2/contract/{contract}"
tags: ["Contracts"]
---

# Get contract metadata.

`GET /api/v2/contract/{contract}`

Returns indexed token/contract metadata and optional current protocol
enrichments such as ERC4626.

blockHeight reflects the indexer's best block at request time.
ERC4626 fields under protocols.erc4626 are fetched through JSON-RPC
calls pinned to that exact blockHeight, so the ERC4626 values are a
consistent snapshot. If a vault is detected but the underlying asset
metadata cannot be resolved, protocols.erc4626 contains error and omits
asset; callers must not derive fiat rates or human-unit exchange rates
from such a partial response.

Load estimate: Medium; indexed metadata is cheap, but optional protocol
enrichment can add backend RPC calls and token metadata lookups.

## Path parameters

- `contract` string, required

## Query parameters

- `currency` string
- `protocols` string[]

## Response `200`

Contract metadata.

- ContractInfoResult
  - `type` '' | 'XPUBAddress' | 'ERC20' | 'ERC721' | 'ERC1155' | 'BEP20' | 'BEP721' | 'BEP1155' | 'TRC20' | 'TRC721' | 'TRC1155', required — Token standard name. Empty string means no token standard is known.
  - `standard` '' | 'XPUBAddress' | 'ERC20' | 'ERC721' | 'ERC1155' | 'BEP20' | 'BEP721' | 'BEP1155' | 'TRC20' | 'TRC721' | 'TRC1155', required — Token standard name. Empty string means no token standard is known.
  - `contract` string, required
  - `name` string, required
  - `symbol` string, required
  - `decimals` integer, required
  - `createdInBlock` integer
  - `destructedInBlock` integer
  - `rates` ContractInfoRates
    - `baseRate` number
    - `currency` string
    - `secondaryRate` number
  - `protocols` ContractInfoProtocols
    - `erc4626` Erc4626Token
      - `asset` Erc4626TokenMetadata
        - `contract` string, required
        - `name` string
        - `symbol` string
        - `decimals` integer, required
      - `share` Erc4626TokenMetadata
        - `contract` string, required
        - `name` string
        - `symbol` string
        - `decimals` integer, required
      - `totalAssets` string — Integer amount in the lowest chain denomination, encoded as a string.
      - `convertToAssets1Share` string — Integer amount in the lowest chain denomination, encoded as a string.
      - `convertToShares1Asset` string — Integer amount in the lowest chain denomination, encoded as a string.
      - `previewDeposit1Asset` string — Integer amount in the lowest chain denomination, encoded as a string.
      - `previewRedeem1Share` string — Integer amount in the lowest chain denomination, encoded as a string.
      - `error` string
  - `blockHeight` integer, required

## Other responses

- `default` — Public API error. Public validation errors are HTTP 400; internal errors are HTTP 500.

---

[API](https://skmtc.dev/trezor/apis/blockbook-api.md) · [All operations](https://skmtc.dev/trezor/apis/blockbook-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/trezor/blockbook-api/revisions/01c375da86bc/schema)
