NFT Metadata API
Fetch NFT metadata — name, image, traits from contract+tokenId. x402 micropayment.
Open source Repository Open in the app JSON README (API)
About
Fetch NFT metadata — name, image, traits from contract+tokenId. x402 micropayment.
Details
- Kind
- MCP servers
- Topic
- Finance & crypto
- Publisher
- br0ski777
- Origin
- official
- Category
- ferramentas
- Transport
- sse
- Version
- 1.1.0
- Last push
- 2026-09-02T19:56:48Z
- Repository state
- ativo
- Language
- TypeScript
- License
- MIT
- Added
- 2026-08-29 03:01:43
- Updated
- 2026-08-29 03:01:43
- Origin id
io.github.Br0ski777/nft-metadata
README
# NFT Metadata API
[](https://nft-metadata.api.klymax402.com/mcp)
[](https://x402.org)
[](LICENSE)
NFT metadata lookup -- name, image, attributes, collection info from contract + token ID. Ethereum and Base. Pay-per-call via [x402](https://x402.org) (USDC on Base L2) -- no API key, no signup, no rate-limit wall.
Part of the [klymax402](https://klymax402.com) marketplace -- 100 x402 micropayment APIs for AI agents, one wallet, USDC on Base.
## Quickstart -- MCP
Add to your MCP client config (Claude Desktop, Cursor, ElizaOS, etc.):
```json
{
"mcpServers": {
"nft-metadata": {
"url": "https://nft-metadata.api.klymax402.com/mcp"
}
}
}
```
## Quickstart -- HTTP (x402)
```bash
curl -X POST "https://nft-metadata.api.klymax402.com/api/metadata" \
-H "Content-Type: application/json" \
-d '{"contract":"...","tokenId":"..."}'
# -> 402 Payment Required, with an x402 payment challenge in the response body
```
Any x402-aware client ([`@x402/fetch`](https://www.npmjs.com/package/@x402/fetch), [`x402-agent-tools`](https://www.npmjs.com/package/x402-agent-tools), ATXP) handles the 402 -> sign -> retry cycle automatically.
## Tools
| Tool | Method | Path | Price | Description |
|---|---|---|---|---|
| `crypto_get_nft_metadata` | POST | `/api/metadata` | $0.008 | Fetch NFT metadata from contract and token ID |
### `crypto_get_nft_metadata`
Use this when you need to fetch metadata for a specific NFT by contract address and token ID. Returns full NFT details in JSON.
**Parameters**
| Name | Type | Required | Description |
|---|---|---|---|
| `contract` | string | yes | NFT contract address (e.g. 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D) |
| `tokenId` | string | yes | Token ID within the contract |
| `chain` | string | no | Blockchain: 'ethereum' or 'base' (default: ethereum) |
**Returns**
- `name` -- NFT token name
- `description` -- token description text
- `imageUrl` -- URL to the NFT image/media
- `attributes` -- array of trait objects with trait_type and value
- `collection` -- collection name and contract info
- `tokenStandard` -- ERC-721 or ERC-1155
- `chain` -- which blockchain the NFT is on
Example response:
```json
{"name":"Bored Ape #1234","description":"A unique digital collectible...","imageUrl":"ipfs://Qm...","attributes":[{"trait_type":"Background","value":"Blue"},{"trait_type":"Fur","value":"Gold"}],"collection":"BoredApeYachtClub","tokenStandard":"ERC-721","chain":"ethereum"}
```
**When to use**: NFT verification, display, and trait analysis. Essential for NFT marketplace agents and collection tools.
**Not for**: wallet balances (use `wallet_get_portfolio`), ENS resolution (use `crypto_resolve_ens`), token safety (use `token_check_safety`).
## Example agent prompts
- "Fetch metadata for a specific NFT by contract address and token ID"
## Payment
- Protocol: [x402](https://x402.org) -- HTTP-native pay-per-call, no signup, no API key
- Network: Base L2 (`eip155:8453`)
- Asset: USDC
- Facilitator: Coinbase CDP (primary), PayAI (fallback)
- Also reachable via [ATXP](https://atxp.ai) (OAuth-wrapped x402, RFC 9728 protected-resource metadata)
## Part of klymax402
100 x402 micropayment APIs for AI agents -- one wallet, USDC on Base, zero signup.
- Catalog: https://klymax402.com/llms.txt
- Full API reference: https://klymax402.com/llms-full.txt
- Live stats: https://klymax402.com/stats
## License
MIT