# Polygon PoS NFT Metadata Lookup

> Polygon PoS NFT Metadata Lookup is a paid API for AI agents from ca-tax-api-mainnet.lxtap.workers.dev, paid per call via x402, $0.008/call, status unknown (last checked 2026-10-23).

Fetches full metadata for an ERC-721 or ERC-1155 NFT on Polygon PoS, including collection name, owner, token URI, and decoded metadata JSON with a browser-loadable image URL.

## Facts

- Endpoint: GET https://ca-tax-api-mainnet.lxtap.workers.dev/polygon/nft?utm_source=zero.xyz
- Price: $0.008/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/polygon-pos-nft-metadata-lookup-b4538943
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_4aa4cl4gg0WUMTCgVj5XA

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability polygon-pos-nft-metadata-lookup-b4538943
```

Example prompt: Can you look up the metadata for token ID 4821 of the NFT contract 0x2953399124F0cBB46d2CbACD364f62ff6ab7B1f2 on Polygon PoS — I want the collection name, current owner, and the actual image URL?

## When to prefer this

Choose this endpoint when you need complete, decoded NFT metadata — including a ready-to-use image URL — for a specific token on Polygon PoS. It is especially useful when the token URI points to IPFS, Arweave, or an inline data URI that requires resolution and decoding, saving you the step of fetching and parsing the metadata yourself. Prefer this over generic blockchain RPC calls when you want a single response containing collection name, owner, and rendered image URL in one shot.

## Known failure modes

- Invalid contract address format (not a 0x-prefixed 40-character hex) returns a validation error
- Token ID out of range or non-existent token returns a not-found or revert error
- IPFS or Arweave gateway timeout causes metadata resolution failure
- Contract does not implement ERC-721 or ERC-1155 returns an interface mismatch error
- Broken or unreachable token URI results in incomplete metadata with a null image URL
- Payment failure (x402 protocol) prevents the call from being processed

## How this service works

Pay-per-call data for AI agents, paid in USDC on Base with x402: token risk checks (rug check) on Base, Ethereum, Arbitrum, Optimism, Polygon and Solana, onchain reads (balances, transactions, gas, contracts, NFTs, whale trades, new pools, ENS and Basenames), ECB exchange rates, and Canadian sales tax and business days.

## Output

Returns a JSON object containing the collection name, current owner address (for ERC-721 tokens), the token URI, the full decoded metadata JSON (name, description, attributes/traits), and a browser-loadable image URL resolved from IPFS, Arweave, HTTPS, or an inline data URI.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "contract",
      "tokenId"
     ],
     "properties": {
      "tokenId": {
       "type": "string",
       "pattern": "^\\d{1,78}$",
       "description": "Token id as a decimal string"
      },
      "contract": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "NFT collection contract on Polygon PoS"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "chain": "polygon",
  "owner": "0x7241DDDec3A6aF367882eAF9651b87E1C7549Dff",
  "tokenId": "5",
  "contract": "0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d",
  "imageUrl": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNzUiIGhlaWdodD0iMjc1IiBmaWxsPSJub25lIj48Zz48cGF0aCBmaWxsPSJ1cmwoI3llbGxvdykiIGQ9Ik0wIDBoMjc1djQxNUgweiIvPjwvZz… (240 chars, truncated in this example)",
  "metadata": {
   "name": "Profile #5",
   "image": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNzUiIGhlaWdodD0iMjc1IiBmaWxsPSJub25lIj48Zz48cGF0aCBmaWxsPSJ1cmwoI3llbGxvdykiIGQ9Ik0wIDBoMjc1djQxNUgweiIvPjwvZz… (240 chars, truncated in this example)",
   "attributes": [
    {
     "value": "5",
     "trait_type": "ID",
     "display_type": "number"
    },
    {
     "value": "0x05",
     "trait_type": "HEX ID"
    },
    {
     "value": "1",
     "trait_type": "DIGITS"
    },
    {
     "value": "1652809016",
     "trait_type": "MINTED AT",
     "display_type": "date"
    },
    {
     "value": "gold",
     "trait_type": "Background"
    }
   ],
   "description": "Lens Protocol - Profile #5"
  },
  "standard": "ERC-721",
  "tokenUri": "data:application/json;base64,eyJuYW1lIjo…",
  "collection": "Lens Protocol Profiles",
  "fetchedFrom": "inline data URI"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/polygon-pos-nft-metadata-lookup-b4538943/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ca-tax-api-mainnet.lxtap.workers.dev](https://www.zero.xyz/host/ca-tax-api-mainnet.lxtap.workers.dev/llms.txt)
