---
title: "Read an NFT collection and optionally one token from the chain: ERC-721 or ERC-1155, name, symbol, total supply, the token's owner and its metadata (name, description, image, attributes) with IPFS and Arweave resolved. Metadata hosts are fetched through the same private-network guard as web-fetch. Read-only, no key."
method: POST
path: "/v1/tools/nft-info"
---

# Read an NFT collection and optionally one token from the chain: ERC-721 or ERC-1155, name, symbol, total supply, the token's owner and its metadata (name, description, image, attributes) with IPFS and Arweave resolved. Metadata hosts are fetched through the same private-network guard as web-fetch. Read-only, no key.

`POST /v1/tools/nft-info`

## Request

- Base URL: `https://agents.dexl.io`
- URL: `https://agents.dexl.io/v1/tools/nft-info`
- Auth: API key in header `X-Payment`

Paid per call via x402. Send without payment to get the exact price in the 402.

## Request body

- object
  - `chain` string: Chain id, e.g. ethereum, base, polygon, arbitrum.
  - `contract` string, required: NFT contract address (0x...).
  - `token_id` string: Optional token id (decimal). Without it only the collection is read.

## Response `200`

The tool output

## Other responses

- `400`: The input did not match the schema
- `402`: Payment required

---

[API](https://skmtc.dev/dexl/apis/dexl-agents.md) · [All operations](https://skmtc.dev/dexl/apis/dexl-agents/llms.txt) · [OpenAPI document](https://skmtc.dev/dexl/apis/dexl-agents/revisions/e3692765c3f7?raw)
