# Signalbound Allowlist Scan

> Signalbound Allowlist Scan is a paid API for AI agents from api.signalbound.art, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-14).

Scans NFT drop feeds (OpenSea featured, upcoming, recently minted) and returns which drops a given wallet is eligible for, gated by Signalbound token ownership.

## Facts

- Endpoint: POST https://api.signalbound.art/allowlist-scan?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/signalbound-allowlist-scan-494d0d09
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_KOdaBZYqCzFYe2l2MasEh

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 signalbound-allowlist-scan-494d0d09 -d '<json body>'
```

Example prompt: Check which upcoming NFT drops my wallet 0xABC...123 is eligible for using my Signalbound token ID 42, scanning up to 50 drops and only showing me the ones I actually qualify for.

## When to prefer this

Use this endpoint when an agent needs to determine NFT drop eligibility for a specific wallet in a token-gated context, particularly when the user holds a Signalbound token and wants to discover which upcoming, featured, or recently minted drops they are allowlisted for on OpenSea. Prefer this over generic NFT APIs when clearance-level gating and ERC-7496 dynamic traits are relevant to the access model.

## Known failure modes

- Token ID not owned by caller — returns authorization/clearance error
- Invalid or unsupported chain filter — returns empty or error response
- Wallet address not found on any drop allowlists — returns eligibleCount of 0 with empty eligible array
- OpenSea feed unavailable — scan may return partial results or timeout
- Missing required tokenId field — returns 400 validation error
- Limit set too high — may result in slower response or truncated scan

## How this service works

Signalbound API for agent metadata, reveal-aware token reads, ERC-8004 registration files, and holder-gated tool routes.

## Output

Returns a JSON object containing the drop feed type scanned, a human-readable brief summary, the number of drops scanned, a count of eligible drops, an array of eligible drop objects, an optional array of ineligible drops, the caller's address, a clearance level string, and the timestamp the scan was generated.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "tokenId"
 ],
 "properties": {
  "type": {
   "enum": [
    "all",
    "featured",
    "upcoming",
    "recently_minted"
   ],
   "type": "string",
   "description": "Drop feed to scan. Defaults to all, combining OpenSea featured, upcoming, and recently minted surfaces."
  },
  "chain": {
   "type": "string",
   "description": "Optional chain filter."
  },
  "limit": {
   "type": "integer",
   "description": "Max drops to scan (default 25)."
  },
  "tokenId": {
   "type": "integer",
   "description": "Signalbound token ID used for ERC-7496 clearance-gated access. The authenticated caller must own it."
  },
  "scanChains": {
   "type": "boolean",
   "description": "When true, scans known OpenSea chains individually in addition to the global feed (default true)."
  },
  "eligibleOnly": {
   "type": "boolean",
   "description": "Omit ineligible drops from ineligible array when false (default)."
  },
  "walletAddress": {
   "type": "string",
   "description": "Wallet to check. Defaults to authenticated caller."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "type",
  "generatedAt",
  "scanned",
  "eligibleCount",
  "eligible",
  "brief"
 ],
 "properties": {
  "type": {
   "type": "string"
  },
  "brief": {
   "type": "string"
  },
  "caller": {
   "type": "string"
  },
  "scanned": {
   "type": "integer"
  },
  "eligible": {
   "type": "array"
  },
  "clearance": {
   "type": "string"
  },
  "ineligible": {
   "type": "array"
  },
  "generatedAt": {
   "type": "string"
  },
  "eligibleCount": {
   "type": "integer"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/signalbound-allowlist-scan-494d0d09/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.signalbound.art](https://www.zero.xyz/host/api.signalbound.art/llms.txt)
