# RelayShield NFT Security Scanner

> RelayShield NFT Security Scanner is a paid API for AI agents from api.relayshield.net, paid per call via x402, $0.1/call, status unknown (last checked 2026-09-14).

Analyzes an NFT smart contract for security risks, returning risk flags, risk level, and metadata for the given contract address and chain

## Facts

- Endpoint: POST https://api.relayshield.net/v1/payg/nft-security
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/relayshield-nft-security-scanner-c765788d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_hnfaIj9IsmQvWwEWgREc_

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 relayshield-nft-security-scanner-c765788d -d '<json body>'
```

Example prompt: Can you check if the NFT contract 0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d on Ethereum (chain ID 1) is safe to interact with — I want to know its risk level and any security flags before I buy in.

## When to prefer this

Choose this endpoint when an AI agent or user needs a fast, on-demand security assessment of a specific NFT contract address before interacting with, purchasing, or listing it. It is well-suited for pre-transaction safety checks, portfolio audits, and rug pull screening where the output risk_level and risk_flags are needed programmatically. Prefer this over generic blockchain explorers when you want a structured risk verdict rather than raw on-chain data.

## Known failure modes

- Invalid or non-existent contract address returns an error or empty data
- Unsupported chain ID results in a failed lookup
- Malformed request body causes a 400-level error
- Payment not included or insufficient USDC triggers an x402 payment required response
- Contract exists but has no indexed NFT metadata, leading to incomplete name/symbol fields

## How this service works

RelayShield Landing Site

## Output

Returns a JSON object with: ok (boolean), and a data object containing the NFT name, symbol, contract address, chain ID, a risk_level string (e.g. LOW, MEDIUM, HIGH), a risk_flags array listing specific security concerns, and a raw field with provider-level detail. A LOW risk level with an empty risk_flags array indicates no known issues.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "chain_id": {
   "type": "string",
   "description": "EVM chain ID (default: 1 for Ethereum)"
  },
  "contract_address": {
   "type": "string",
   "description": "NFT contract address"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "data": {
   "raw": {},
   "chain_id": "1",
   "nft_name": "Bored Ape Yacht Club",
   "nft_symbol": "BAYC",
   "risk_flags": [],
   "risk_level": "LOW",
   "contract_address": "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/relayshield-nft-security-scanner-c765788d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.relayshield.net](https://www.zero.xyz/host/api.relayshield.net/llms.txt)
