# Phantom API — NFT Sales by Contract

> Phantom API — NFT Sales by Contract is a paid API for AI agents from phantom-api-omega.vercel.app, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-16).

Retrieves on-chain NFT sales events for a given smart contract address across a specified block range, with ordering and pagination controls.

## Facts

- Endpoint: POST https://phantom-api-omega.vercel.app/api/bob/nft/sales?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/phantom-api-nft-sales-by-contract-925cf46e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_mv01TRT6LpMvuaHDQygUw

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 phantom-api-nft-sales-by-contract-925cf46e -d '<json body>'
```

Example prompt: Pull the last 50 NFT sales for contract 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13d, going from block 18000000 to 19000000, ordered from newest to oldest.

## When to prefer this

Use this endpoint when you need historical or recent NFT sale events scoped to a specific smart contract and block range on-chain. It is ideal for analytics pipelines, collection tracking dashboards, or agent workflows that need raw NFT sales data with block-level precision. Prefer this over general-purpose blockchain explorers when you need programmatic, pay-per-call access without API key management.

## Known failure modes

- Invalid or non-existent contract address returns empty results or error
- Block range too wide may result in timeouts or truncated results
- fromBlock greater than toBlock causes invalid range error
- Missing contractAddress field may result in a 400 bad request
- Payment failure via x402 protocol blocks the call entirely
- Rate limits or quota exhaustion return 402 or 429 errors

## How this service works

Lightning-fast access to blockchain data, smart contract insights, and Web3 infrastructure across 57+ networks. Pay-per-call via x402.

## Output

Returns a list of on-chain NFT sale events for the specified contract, filtered by block range and ordered as requested. Each record typically includes transaction hash, block number, token ID, sale price, buyer and seller addresses, and timestamp-equivalent block data.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "limit": {
   "type": "number"
  },
  "order": {
   "enum": [
    "asc",
    "desc"
   ],
   "type": "string"
  },
  "toBlock": {
   "type": "number"
  },
  "fromBlock": {
   "type": "number"
  },
  "contractAddress": {
   "type": "string"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/phantom-api-nft-sales-by-contract-925cf46e/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from phantom-api-omega.vercel.app](https://www.zero.xyz/host/phantom-api-omega.vercel.app/llms.txt)
