{
  "name": "API Market",
  "appName": "API Market",
  "version": "1.2.0",
  "payment": {
    "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
    "currency": "USDC",
    "chain": "base",
    "chainId": 8453,
    "scheme": "exact",
    "tokenContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "acceptance": "base-mainnet-usdc-only",
    "note": "Only Base mainnet native USDC is accepted. USDC bridged or sent on any other chain is not valid.",
    "demoToken": "demo",
    "acceptedHeaders": [
      "Authorization",
      "PAYMENT-SIGNATURE",
      "X-PAYMENT-TX-HASH",
      "X-Payment-Proof",
      "X-Request-Id"
    ],
    "settlementProofHeader": "X-PAYMENT-TX-HASH",
    "settlementMethod": "base-usdc-transfer-receipt",
    "settlementConfirmationsRequired": 2,
    "maxSettlementAgeBlocks": 7200,
    "settlementPolicy": {
      "settlementMethod": "base-usdc-transfer-receipt",
      "requiredConfirmations": 2,
      "maxSettlementAgeBlocks": 7200,
      "averageBlockSeconds": 2,
      "recommendedRetryAfterSeconds": 4
    },
    "remediationSchemaVersion": "1.0.0",
    "remediationCompatibility": "semver-minor-backward-compatible",
    "remediationRefs": {
      "changelog": "https://api-402.com/.well-known/remediation-changelog.json",
      "deprecations": "https://api-402.com/.well-known/remediation-deprecations.json"
    },
    "maxPaymentAgeSeconds": 900,
    "maxFutureSkewSeconds": 120,
    "payloadSchema": {
      "version": "1",
      "scheme": "exact",
      "network": "base",
      "currency": "USDC",
      "requiredFields": [
        "payTo",
        "from",
        "amount",
        "resource",
        "nonce",
        "deadline",
        "issuedAt",
        "signature"
      ]
    },
    "settlementStatusEndpointTemplate": "https://api-402.com/api/v1/settlement/{txHash}",
    "settlementStatusProofHeaders": [
      "PAYMENT-SIGNATURE"
    ],
    "settlementStatusFilters": [
      "payer",
      "resource",
      "payTo",
      "minAmount"
    ],
    "settlementStatusRemediation": {
      "SETTLEMENT_READY": {
        "retryable": false,
        "action": "Settlement is confirmed. Replay the paid request now."
      },
      "SETTLEMENT_PENDING": {
        "retryable": true,
        "action": "Wait for more Base confirmations, then retry settlement status or replay request."
      },
      "SETTLEMENT_TOO_OLD": {
        "retryable": false,
        "action": "Create and submit a new payment transaction; this proof is too old."
      },
      "SETTLEMENT_NOT_FOUND": {
        "retryable": true,
        "action": "Check tx hash and chain, wait for indexing, then retry."
      },
      "SETTLEMENT_RPC_FAILED": {
        "retryable": true,
        "action": "Retry against settlement endpoint after a short delay or switch RPC providers."
      }
    },
    "paymentReasonRemediation": {
      "PAYMENT_TX_NOT_CONFIRMED": {
        "retryable": true,
        "action": "Wait for required Base confirmations, then replay the same signed payload and tx hash."
      },
      "PAYMENT_TX_TOO_OLD": {
        "retryable": false,
        "action": "Pay again with a fresh transaction hash and replay within allowed settlement age."
      },
      "PAYMENT_TX_NOT_FOUND": {
        "retryable": true,
        "action": "Confirm the tx hash on Base mainnet and retry when it is indexed."
      },
      "PAYMENT_SETTLEMENT_RPC_FAILED": {
        "retryable": true,
        "action": "Retry shortly; gateway could not reach Base RPC."
      },
      "PAYMENT_TX_REPLAYED": {
        "retryable": false,
        "action": "Use a new payment transaction hash for a new paid request."
      },
      "PAYMENT_NONCE_REPLAYED": {
        "retryable": false,
        "action": "Regenerate payload with a new nonce and signature before replay."
      }
    },
    "requestFunnelEndpoint": "https://api-402.com/api/v1/metrics/funnel",
    "requestFunnelSupportedWindows": [
      "24h",
      "7d"
    ]
  },
  "docs": {
    "quickstart": "https://api-402.com/#examples",
    "health": "https://api-402.com/api/v1/health",
    "catalog": "https://api-402.com/api/v1/catalog",
    "metricsOverview": "https://api-402.com/api/v1/metrics/overview"
  },
  "endpoints": [
    {
      "path": "/api/gpt-5.4-pro",
      "url": "https://api-402.com/api/gpt-5.4-pro",
      "method": "POST",
      "label": "GPT-5.4 Pro Reasoning",
      "price": "0.12",
      "currency": "USDC",
      "category": "Frontier Models",
      "description": "High-value pay-per-call access to GPT-5.4 Pro for deeper reasoning, code review, and complex analysis.",
      "access": "live_or_fallback",
      "upstream": "openrouter",
      "status": "live",
      "tags": [
        "ai",
        "reasoning",
        "gpt-5.4-pro",
        "openai",
        "premium"
      ],
      "locales": {
        "zh": {
          "label": "GPT-5.4 Pro 深度推理",
          "category": "旗舰模型",
          "description": "面向高价值深度推理任务的 GPT-5.4 Pro 按次调用入口，适合代码审查和复杂分析。"
        },
        "en": {
          "label": "GPT-5.4 Pro Reasoning",
          "category": "Frontier Models",
          "description": "High-value pay-per-call access to GPT-5.4 Pro for deeper reasoning, code review, and complex analysis."
        }
      },
      "exampleRequest": {
        "curl": "curl -X POST https://api-402.com/api/gpt-5.4-pro \\\n  -H \"Content-Type: application/json\" \\\n  -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  -d '{\"messages\":[{\"role\":\"user\",\"content\":\"Explain x402 payments in one sentence.\"}]}'\n\n# demo mode\ncurl -X POST https://api-402.com/api/gpt-5.4-pro \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer demo\" \\\n  -d '{\"prompt\":\"Explain x402 payments in one sentence.\"}'",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.12",
          "resource": "/api/gpt-5.4-pro",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "source": "openrouter",
        "model": "openai/gpt-5.4-pro",
        "response": "GPT-5.4 Pro is best reserved for expensive, high-confidence reasoning tasks.",
        "usage": {
          "promptTokens": 48,
          "completionTokens": 72,
          "totalTokens": 120
        }
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": {
        "windowMs": 86400000,
        "provider": "openrouter",
        "model": "openai/gpt-5.4-pro",
        "maxInputChars": 4000,
        "maxMessages": 12,
        "maxOutputTokens": 256,
        "requestLimit": {
          "global": 200,
          "endpoint": 12
        },
        "dailyBudgetUsd": {
          "global": 3,
          "endpoint": 0.5
        },
        "quotaErrorCodes": [
          "AI_BUDGET_EXCEEDED",
          "AI_REQUEST_LIMIT_EXCEEDED"
        ]
      },
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/claude-4.6",
      "url": "https://api-402.com/api/claude-4.6",
      "method": "POST",
      "label": "Claude 4.6 Chat",
      "price": "0.04",
      "currency": "USDC",
      "category": "Frontier Models",
      "description": "Pay-per-call Claude 4.6 access via OpenRouter for long-context writing, review, and agent-safe explanations.",
      "access": "live_or_fallback",
      "upstream": "openrouter",
      "status": "live",
      "tags": [
        "ai",
        "chat",
        "claude-4.6",
        "anthropic",
        "openrouter",
        "latest"
      ],
      "locales": {
        "zh": {
          "label": "Claude 4.6 对话",
          "category": "旗舰模型",
          "description": "基于 OpenRouter 的 Claude 4.6 按次调用入口，适合长上下文写作、审阅和 agent 安全说明。"
        },
        "en": {
          "label": "Claude 4.6 Chat",
          "category": "Frontier Models",
          "description": "Pay-per-call Claude 4.6 access via OpenRouter for long-context writing, review, and agent-safe explanations."
        }
      },
      "exampleRequest": {
        "curl": "curl -X POST https://api-402.com/api/claude-4.6 \\\n  -H \"Content-Type: application/json\" \\\n  -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  -d '{\"messages\":[{\"role\":\"user\",\"content\":\"Explain x402 payments in one sentence.\"}]}'\n\n# demo mode\ncurl -X POST https://api-402.com/api/claude-4.6 \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer demo\" \\\n  -d '{\"prompt\":\"Explain x402 payments in one sentence.\"}'",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.04",
          "resource": "/api/claude-4.6",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "source": "openrouter",
        "model": "anthropic/claude-sonnet-4.6",
        "response": "Claude 4.6 is useful when you want strong writing and careful instruction following without a separate subscription.",
        "usage": {
          "promptTokens": 28,
          "completionTokens": 34,
          "totalTokens": 62
        }
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": {
        "windowMs": 86400000,
        "provider": "openrouter",
        "model": "anthropic/claude-sonnet-4.6",
        "maxInputChars": 4000,
        "maxMessages": 12,
        "maxOutputTokens": 256,
        "requestLimit": {
          "global": 200,
          "endpoint": 24
        },
        "dailyBudgetUsd": {
          "global": 3,
          "endpoint": 0.8
        },
        "quotaErrorCodes": [
          "AI_BUDGET_EXCEEDED",
          "AI_REQUEST_LIMIT_EXCEEDED"
        ]
      },
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/gpt-5.4",
      "url": "https://api-402.com/api/gpt-5.4",
      "method": "POST",
      "label": "GPT-5.4 Chat",
      "price": "0.03",
      "currency": "USDC",
      "category": "Frontier Models",
      "description": "Pay-per-call access to GPT-5.4 via OpenRouter for lightweight trials of the latest OpenAI model.",
      "access": "live_or_fallback",
      "upstream": "openrouter",
      "status": "live",
      "tags": [
        "ai",
        "chat",
        "gpt-5.4",
        "openai",
        "openrouter",
        "latest"
      ],
      "locales": {
        "zh": {
          "label": "GPT-5.4 对话",
          "category": "旗舰模型",
          "description": "基于 OpenRouter 的 GPT-5.4 按次调用入口，适合临时体验最新 OpenAI 模型。"
        },
        "en": {
          "label": "GPT-5.4 Chat",
          "category": "Frontier Models",
          "description": "Pay-per-call access to GPT-5.4 via OpenRouter for lightweight trials of the latest OpenAI model."
        }
      },
      "exampleRequest": {
        "curl": "curl -X POST https://api-402.com/api/gpt-5.4 \\\n  -H \"Content-Type: application/json\" \\\n  -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  -d '{\"messages\":[{\"role\":\"user\",\"content\":\"Explain x402 payments in one sentence.\"}]}'\n\n# demo mode\ncurl -X POST https://api-402.com/api/gpt-5.4 \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer demo\" \\\n  -d '{\"prompt\":\"Explain x402 payments in one sentence.\"}'",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.03",
          "resource": "/api/gpt-5.4",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "source": "openrouter",
        "model": "openai/gpt-5.4",
        "response": "GPT-5.4 is useful when you need strong general reasoning without a monthly subscription.",
        "usage": {
          "promptTokens": 22,
          "completionTokens": 30,
          "totalTokens": 52
        }
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": {
        "windowMs": 86400000,
        "provider": "openrouter",
        "model": "openai/gpt-5.4",
        "maxInputChars": 4000,
        "maxMessages": 12,
        "maxOutputTokens": 256,
        "requestLimit": {
          "global": 200,
          "endpoint": 30
        },
        "dailyBudgetUsd": {
          "global": 3,
          "endpoint": 0.8
        },
        "quotaErrorCodes": [
          "AI_BUDGET_EXCEEDED",
          "AI_REQUEST_LIMIT_EXCEEDED"
        ]
      },
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/deepseek",
      "url": "https://api-402.com/api/deepseek",
      "method": "POST",
      "label": "DeepSeek Chat",
      "price": "0.003",
      "currency": "USDC",
      "category": "AI",
      "description": "Live DeepSeek chat completions via OpenRouter with prompt or messages input.",
      "access": "live_or_fallback",
      "upstream": "openrouter",
      "status": "live",
      "tags": [
        "ai",
        "chat",
        "deepseek",
        "openrouter",
        "live"
      ],
      "locales": {
        "zh": {
          "label": "DeepSeek 对话",
          "category": "人工智能",
          "description": "基于 OpenRouter 的 DeepSeek 实时对话接口，支持 prompt 或 messages 请求。"
        },
        "en": {
          "label": "DeepSeek Chat",
          "category": "AI",
          "description": "Live DeepSeek chat completions via OpenRouter with prompt or messages input."
        }
      },
      "exampleRequest": {
        "curl": "curl -X POST https://api-402.com/api/deepseek \\\n  -H \"Content-Type: application/json\" \\\n  -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  -d '{\"messages\":[{\"role\":\"user\",\"content\":\"Explain x402 payments in one sentence.\"}]}'\n\n# demo mode\ncurl -X POST https://api-402.com/api/deepseek \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer demo\" \\\n  -d '{\"prompt\":\"Explain x402 payments in one sentence.\"}'",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.003",
          "resource": "/api/deepseek",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "source": "openrouter",
        "model": "deepseek/deepseek-v3.2",
        "response": "API402 lets agents pay per request on Base with USDC.",
        "usage": {
          "promptTokens": 18,
          "completionTokens": 14,
          "totalTokens": 32
        }
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": {
        "windowMs": 86400000,
        "provider": "openrouter",
        "model": "deepseek/deepseek-v3.2",
        "maxInputChars": 4000,
        "maxMessages": 12,
        "maxOutputTokens": 256,
        "requestLimit": {
          "global": 200,
          "endpoint": 120
        },
        "dailyBudgetUsd": {
          "global": 3,
          "endpoint": 1.5
        },
        "quotaErrorCodes": [
          "AI_BUDGET_EXCEEDED",
          "AI_REQUEST_LIMIT_EXCEEDED"
        ]
      },
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/qwen",
      "url": "https://api-402.com/api/qwen",
      "method": "POST",
      "label": "Qwen Chat",
      "price": "0.01",
      "currency": "USDC",
      "category": "AI",
      "description": "Live Qwen chat completions via OpenRouter with prompt or messages input.",
      "access": "live_or_fallback",
      "upstream": "openrouter",
      "status": "live",
      "tags": [
        "ai",
        "chat",
        "qwen",
        "openrouter",
        "live"
      ],
      "locales": {
        "zh": {
          "label": "Qwen 对话",
          "category": "人工智能",
          "description": "基于 OpenRouter 的 Qwen 实时对话接口，支持 prompt 或 messages 请求。"
        },
        "en": {
          "label": "Qwen Chat",
          "category": "AI",
          "description": "Live Qwen chat completions via OpenRouter with prompt or messages input."
        }
      },
      "exampleRequest": {
        "curl": "curl -X POST https://api-402.com/api/qwen \\\n  -H \"Content-Type: application/json\" \\\n  -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  -d '{\"messages\":[{\"role\":\"user\",\"content\":\"Explain x402 payments in one sentence.\"}]}'\n\n# demo mode\ncurl -X POST https://api-402.com/api/qwen \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer demo\" \\\n  -d '{\"prompt\":\"Explain x402 payments in one sentence.\"}'",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.01",
          "resource": "/api/qwen",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "source": "openrouter",
        "model": "qwen/qwen-plus-2025-07-28",
        "response": "API402 支持在 Base 上用 USDC 按次付费调用 API。",
        "usage": {
          "promptTokens": 20,
          "completionTokens": 16,
          "totalTokens": 36
        }
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": {
        "windowMs": 86400000,
        "provider": "openrouter",
        "model": "qwen/qwen-plus-2025-07-28",
        "maxInputChars": 4000,
        "maxMessages": 12,
        "maxOutputTokens": 256,
        "requestLimit": {
          "global": 200,
          "endpoint": 80
        },
        "dailyBudgetUsd": {
          "global": 3,
          "endpoint": 1.5
        },
        "quotaErrorCodes": [
          "AI_BUDGET_EXCEEDED",
          "AI_REQUEST_LIMIT_EXCEEDED"
        ]
      },
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/polymarket/trending",
      "url": "https://api-402.com/api/polymarket/trending",
      "method": "GET",
      "label": "Polymarket Trending Markets",
      "price": "0.003",
      "currency": "USDC",
      "category": "Prediction Markets",
      "description": "Returns the hottest active Polymarket prediction markets for discovery, trend monitoring, and agent dashboards.",
      "access": "live_or_fallback",
      "upstream": "polymarket",
      "status": "live",
      "tags": [
        "polymarket",
        "prediction-market",
        "trending",
        "discovery",
        "live"
      ],
      "locales": {
        "zh": {
          "label": "Polymarket 热门市场",
          "category": "预测市场",
          "description": "返回 Polymarket 当前最热门的预测市场，适合做选题、信号发现和 agent 首页流量入口。"
        },
        "en": {
          "label": "Polymarket Trending Markets",
          "category": "Prediction Markets",
          "description": "Returns the hottest active Polymarket prediction markets for discovery, trend monitoring, and agent dashboards."
        }
      },
      "exampleRequest": {
        "curl": "curl -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  https://api-402.com/api/polymarket/trending\n\n# demo mode\ncurl -H \"Authorization: Bearer demo\" https://api-402.com/api/polymarket/trending",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.003",
          "resource": "/api/polymarket/trending",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "source": "polymarket",
        "markets": [
          {
            "question": "Will Bitcoin reach $150k in 2026?",
            "slug": "bitcoin-150k-in-2026",
            "volume": 5212400.33,
            "liquidity": 822340.15,
            "outcomes": [
              "Yes",
              "No"
            ],
            "outcomePrices": [
              0.41,
              0.59
            ]
          }
        ],
        "timestamp": 1776807897150
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": null,
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/polymarket/search",
      "url": "https://api-402.com/api/polymarket/search",
      "method": "GET",
      "label": "Polymarket Search",
      "price": "0.004",
      "currency": "USDC",
      "category": "Prediction Markets",
      "description": "Searches Polymarket events and markets by keyword for agent-driven discovery and watchlist building.",
      "access": "live_or_fallback",
      "upstream": "polymarket",
      "status": "live",
      "tags": [
        "polymarket",
        "search",
        "prediction-market",
        "event-discovery"
      ],
      "locales": {
        "zh": {
          "label": "Polymarket 搜索",
          "category": "预测市场",
          "description": "按关键词搜索 Polymarket 事件和市场，适合给 agent 做热点检索与候选池构建。"
        },
        "en": {
          "label": "Polymarket Search",
          "category": "Prediction Markets",
          "description": "Searches Polymarket events and markets by keyword for agent-driven discovery and watchlist building."
        }
      },
      "exampleRequest": {
        "curl": "curl -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  https://api-402.com/api/polymarket/search\n\n# demo mode\ncurl -H \"Authorization: Bearer demo\" https://api-402.com/api/polymarket/search",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.004",
          "resource": "/api/polymarket/search",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "source": "polymarket",
        "query": "bitcoin",
        "events": [
          {
            "title": "Bitcoin above ___ on March 31?",
            "slug": "bitcoin-above-on-march-31",
            "volume": 1834220.72,
            "liquidity": 323110.11
          }
        ],
        "timestamp": 1776807897150
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": null,
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/polymarket/event",
      "url": "https://api-402.com/api/polymarket/event",
      "method": "GET",
      "label": "Polymarket Event Detail",
      "price": "0.005",
      "currency": "USDC",
      "category": "Prediction Markets",
      "description": "Loads one Polymarket event by slug with nested market details for monitoring, explainability, and deep linking.",
      "access": "live_or_fallback",
      "upstream": "polymarket",
      "status": "live",
      "tags": [
        "polymarket",
        "event",
        "detail",
        "prediction-market",
        "live"
      ],
      "locales": {
        "zh": {
          "label": "Polymarket 事件详情",
          "category": "预测市场",
          "description": "按 slug 拉取单个 Polymarket 事件及其市场详情，适合做决策解释、监控和页面深链。"
        },
        "en": {
          "label": "Polymarket Event Detail",
          "category": "Prediction Markets",
          "description": "Loads one Polymarket event by slug with nested market details for monitoring, explainability, and deep linking."
        }
      },
      "exampleRequest": {
        "curl": "curl -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  https://api-402.com/api/polymarket/event\n\n# demo mode\ncurl -H \"Authorization: Bearer demo\" https://api-402.com/api/polymarket/event",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.005",
          "resource": "/api/polymarket/event",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "source": "polymarket",
        "slug": "bitcoin-above-on-march-31",
        "title": "Bitcoin above ___ on March 31?",
        "markets": [
          {
            "question": "Bitcoin above $90k on March 31?",
            "outcomes": [
              "Yes",
              "No"
            ],
            "outcomePrices": [
              0.36,
              0.64
            ]
          }
        ],
        "timestamp": 1776807897150
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": null,
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/polymarket/orderbook",
      "url": "https://api-402.com/api/polymarket/orderbook",
      "method": "GET",
      "label": "Polymarket Order Book",
      "price": "0.005",
      "currency": "USDC",
      "category": "Prediction Market Trading",
      "description": "Loads the live Polymarket order book for a market slug and outcome with bids, asks, and marketable token mapping.",
      "access": "live_or_fallback",
      "upstream": "polymarket",
      "status": "live",
      "tags": [
        "polymarket",
        "trading",
        "orderbook",
        "liquidity",
        "live"
      ],
      "locales": {
        "zh": {
          "label": "Polymarket 订单簿",
          "category": "预测市场交易",
          "description": "按 market slug 和 outcome 拉取实时订单簿，返回买卖盘、盘口摘要和可交易 token 映射。"
        },
        "en": {
          "label": "Polymarket Order Book",
          "category": "Prediction Market Trading",
          "description": "Loads the live Polymarket order book for a market slug and outcome with bids, asks, and marketable token mapping."
        }
      },
      "exampleRequest": {
        "curl": "curl -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  https://api-402.com/api/polymarket/orderbook\n\n# demo mode\ncurl -H \"Authorization: Bearer demo\" https://api-402.com/api/polymarket/orderbook",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.005",
          "resource": "/api/polymarket/orderbook",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "source": "polymarket",
        "slug": "bitcoin-above-on-march-31",
        "outcome": "Yes",
        "tokenId": "123456789",
        "bestBid": 0.41,
        "bestAsk": 0.43,
        "midpoint": 0.42,
        "spread": 0.02,
        "bids": [
          {
            "price": 0.41,
            "size": 250
          }
        ],
        "asks": [
          {
            "price": 0.43,
            "size": 190
          }
        ],
        "timestamp": 1776807897150
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": null,
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/polymarket/quote",
      "url": "https://api-402.com/api/polymarket/quote",
      "method": "GET",
      "label": "Polymarket Trade Quote",
      "price": "0.006",
      "currency": "USDC",
      "category": "Prediction Market Trading",
      "description": "Estimates fill price, slippage, and executable depth from the live book before an automated Polymarket trade.",
      "access": "live_or_fallback",
      "upstream": "polymarket",
      "status": "live",
      "tags": [
        "polymarket",
        "trading",
        "quote",
        "slippage",
        "execution"
      ],
      "locales": {
        "zh": {
          "label": "Polymarket 成交报价",
          "category": "预测市场交易",
          "description": "按 slug、outcome、side 和 size 估算成交均价、滑点和可成交深度，适合自动交易前风控。"
        },
        "en": {
          "label": "Polymarket Trade Quote",
          "category": "Prediction Market Trading",
          "description": "Estimates fill price, slippage, and executable depth from the live book before an automated Polymarket trade."
        }
      },
      "exampleRequest": {
        "curl": "curl -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  https://api-402.com/api/polymarket/quote\n\n# demo mode\ncurl -H \"Authorization: Bearer demo\" https://api-402.com/api/polymarket/quote",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.006",
          "resource": "/api/polymarket/quote",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "source": "polymarket",
        "slug": "bitcoin-above-on-march-31",
        "outcome": "Yes",
        "side": "buy",
        "requestedSize": 150,
        "filledSize": 150,
        "averagePrice": 0.425,
        "estimatedNotionalUsd": 63.75,
        "slippagePct": 1.19,
        "enoughLiquidity": true,
        "timestamp": 1776807897150
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": null,
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/polymarket/price-history",
      "url": "https://api-402.com/api/polymarket/price-history",
      "method": "GET",
      "label": "Polymarket Price History",
      "price": "0.004",
      "currency": "USDC",
      "category": "Prediction Market Trading",
      "description": "Returns Polymarket price history for a market slug and outcome to power trend analysis, backtests, and trading signals.",
      "access": "live_or_fallback",
      "upstream": "polymarket",
      "status": "live",
      "tags": [
        "polymarket",
        "trading",
        "history",
        "backtest",
        "signal"
      ],
      "locales": {
        "zh": {
          "label": "Polymarket 价格历史",
          "category": "预测市场交易",
          "description": "按 slug 和 outcome 拉取价格历史序列，适合做趋势判断、回测和自动交易信号输入。"
        },
        "en": {
          "label": "Polymarket Price History",
          "category": "Prediction Market Trading",
          "description": "Returns Polymarket price history for a market slug and outcome to power trend analysis, backtests, and trading signals."
        }
      },
      "exampleRequest": {
        "curl": "curl -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  https://api-402.com/api/polymarket/price-history\n\n# demo mode\ncurl -H \"Authorization: Bearer demo\" https://api-402.com/api/polymarket/price-history",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.004",
          "resource": "/api/polymarket/price-history",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "source": "polymarket",
        "slug": "bitcoin-above-on-march-31",
        "outcome": "Yes",
        "interval": "1d",
        "fidelity": 60,
        "points": [
          {
            "timestamp": 1772856025,
            "price": 0.1425
          },
          {
            "timestamp": 1772941702,
            "price": 0.1755
          }
        ],
        "latestPrice": 0.1755,
        "timestamp": 1776807897150
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": null,
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/polymarket/topic",
      "url": "https://api-402.com/api/polymarket/topic",
      "method": "GET",
      "label": "Polymarket Topic Radar",
      "price": "0.004",
      "currency": "USDC",
      "category": "Prediction Markets",
      "description": "Clusters hot Polymarket markets by topic such as crypto, election, and macro for discovery and dashboard surfacing.",
      "access": "live_or_fallback",
      "upstream": "polymarket",
      "status": "live",
      "tags": [
        "polymarket",
        "topic",
        "discovery",
        "attention",
        "live"
      ],
      "locales": {
        "zh": {
          "label": "Polymarket 主题雷达",
          "category": "预测市场",
          "description": "按主题聚合热门预测市场，适合把 crypto、election、macro 等高流量方向直接变成首页入口。"
        },
        "en": {
          "label": "Polymarket Topic Radar",
          "category": "Prediction Markets",
          "description": "Clusters hot Polymarket markets by topic such as crypto, election, and macro for discovery and dashboard surfacing."
        }
      },
      "exampleRequest": {
        "curl": "curl -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  https://api-402.com/api/polymarket/topic\n\n# demo mode\ncurl -H \"Authorization: Bearer demo\" https://api-402.com/api/polymarket/topic",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.004",
          "resource": "/api/polymarket/topic",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "source": "polymarket",
        "tag": "crypto",
        "markets": [
          {
            "question": "Will BTC hit $100k this month?",
            "slug": "btc-100k-this-month",
            "matchedKeywords": [
              "btc",
              "bitcoin"
            ],
            "volume24hr": 155000.22
          }
        ],
        "timestamp": 1776807897150
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": null,
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/polymarket/related",
      "url": "https://api-402.com/api/polymarket/related",
      "method": "GET",
      "label": "Polymarket Related Markets",
      "price": "0.005",
      "currency": "USDC",
      "category": "Prediction Markets",
      "description": "Finds semantically related Polymarket markets from one slug to expand watchlists and discovery flows.",
      "access": "live_or_fallback",
      "upstream": "polymarket",
      "status": "live",
      "tags": [
        "polymarket",
        "related",
        "watchlist",
        "discovery",
        "live"
      ],
      "locales": {
        "zh": {
          "label": "Polymarket 相似市场",
          "category": "预测市场",
          "description": "按 slug 找出语义和事件上下文相近的其他市场，适合做链式探索和自动 watchlist 扩展。"
        },
        "en": {
          "label": "Polymarket Related Markets",
          "category": "Prediction Markets",
          "description": "Finds semantically related Polymarket markets from one slug to expand watchlists and discovery flows."
        }
      },
      "exampleRequest": {
        "curl": "curl -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  https://api-402.com/api/polymarket/related\n\n# demo mode\ncurl -H \"Authorization: Bearer demo\" https://api-402.com/api/polymarket/related",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.005",
          "resource": "/api/polymarket/related",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "source": "polymarket",
        "slug": "btc-100k-this-month",
        "anchorQuestion": "Will BTC hit $100k this month?",
        "relatedMarkets": [
          {
            "slug": "btc-above-95k-this-month",
            "similarityScore": 8.4
          }
        ],
        "timestamp": 1776807897150
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": null,
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/polymarket/mispricing",
      "url": "https://api-402.com/api/polymarket/mispricing",
      "method": "GET",
      "label": "Polymarket Mispricing Candidates",
      "price": "0.006",
      "currency": "USDC",
      "category": "Prediction Market Trading",
      "description": "Screens heuristic Polymarket mispricing candidates using midpoint, last trade, spread, and 24h volume before automation.",
      "access": "live_or_fallback",
      "upstream": "polymarket",
      "status": "live",
      "tags": [
        "polymarket",
        "trading",
        "mispricing",
        "signal",
        "scanner"
      ],
      "locales": {
        "zh": {
          "label": "Polymarket 错价候选",
          "category": "预测市场交易",
          "description": "基于盘口中点、最新成交价、点差和 24h 成交量筛出启发式错价候选，适合自动交易前扫描。"
        },
        "en": {
          "label": "Polymarket Mispricing Candidates",
          "category": "Prediction Market Trading",
          "description": "Screens heuristic Polymarket mispricing candidates using midpoint, last trade, spread, and 24h volume before automation."
        }
      },
      "exampleRequest": {
        "curl": "curl -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  https://api-402.com/api/polymarket/mispricing\n\n# demo mode\ncurl -H \"Authorization: Bearer demo\" https://api-402.com/api/polymarket/mispricing",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.006",
          "resource": "/api/polymarket/mispricing",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "source": "polymarket",
        "methodology": "heuristic",
        "candidates": [
          {
            "slug": "btc-100k-this-month",
            "lastTradePrice": 0.47,
            "midpoint": 0.43,
            "dislocationPct": 9.3,
            "opportunityScore": 27.8
          }
        ],
        "timestamp": 1776807897150
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": null,
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/wallet-risk",
      "url": "https://api-402.com/api/wallet-risk",
      "method": "GET",
      "label": "Wallet Risk Profile",
      "price": "0.02",
      "currency": "USDC",
      "category": "Onchain Intelligence",
      "description": "Structured Base wallet risk summary built from labels, counters, and recent activity for agent-side screening.",
      "access": "live_or_fallback",
      "upstream": "blockscout",
      "status": "live",
      "tags": [
        "wallet",
        "risk",
        "base",
        "onchain",
        "intel"
      ],
      "locales": {
        "zh": {
          "label": "钱包风险画像",
          "category": "链上情报",
          "description": "基于 Base 地址标签、计数器和近期活动生成结构化钱包风险摘要，适合 agent 做前置筛查。"
        },
        "en": {
          "label": "Wallet Risk Profile",
          "category": "Onchain Intelligence",
          "description": "Structured Base wallet risk summary built from labels, counters, and recent activity for agent-side screening."
        }
      },
      "exampleRequest": {
        "curl": "curl -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  https://api-402.com/api/wallet-risk\n\n# demo mode\ncurl -H \"Authorization: Bearer demo\" https://api-402.com/api/wallet-risk",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.02",
          "resource": "/api/wallet-risk",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "address": "0x4200000000000000000000000000000000000006",
        "chain": "base",
        "riskScore": 18,
        "riskLevel": "low",
        "identity": {
          "isContract": true,
          "isVerified": true,
          "isScam": false,
          "reputation": "ok",
          "name": "Wrapped Ether"
        },
        "activity": {
          "transactionsCount": 20587009,
          "tokenTransfersCount": 4241455,
          "uniqueCounterpartiesRecent": 8
        },
        "signals": [
          {
            "code": "VERIFIED_CONTRACT",
            "severity": "info",
            "message": "Verified contract with established onchain history."
          }
        ]
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": null,
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/approval-audit",
      "url": "https://api-402.com/api/approval-audit",
      "method": "GET",
      "label": "Approval Audit",
      "price": "0.03",
      "currency": "USDC",
      "category": "Onchain Intelligence",
      "description": "Structured approval-risk audit for a Base wallet using recent approval-like transactions and spender metadata.",
      "access": "live_or_fallback",
      "upstream": "blockscout",
      "status": "live",
      "tags": [
        "wallet",
        "approval",
        "risk",
        "base",
        "security",
        "onchain"
      ],
      "locales": {
        "zh": {
          "label": "授权审计",
          "category": "链上情报",
          "description": "基于 Base 链近期授权交易和 spender 元数据生成结构化授权风险审计，适合 agent 和钱包工作流做前置风控。"
        },
        "en": {
          "label": "Approval Audit",
          "category": "Onchain Intelligence",
          "description": "Structured approval-risk audit for a Base wallet using recent approval-like transactions and spender metadata."
        }
      },
      "exampleRequest": {
        "curl": "curl -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  https://api-402.com/api/approval-audit\n\n# demo mode\ncurl -H \"Authorization: Bearer demo\" https://api-402.com/api/approval-audit",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.03",
          "resource": "/api/approval-audit",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "address": "0xabc0000000000000000000000000000000000000",
        "chain": "base",
        "methodology": "heuristic_recent_approval_scan",
        "summary": {
          "sampledApprovalTransactions": 2,
          "uniqueSpendersRecent": 2,
          "collectionWideApprovals": 1,
          "highRiskApprovals": 1,
          "aggregateRiskScore": 61,
          "aggregateRiskLevel": "high"
        },
        "exposures": [
          {
            "txHash": "0xapproval1",
            "method": "setApprovalForAll",
            "approvalType": "collection_wide",
            "spender": {
              "address": "0xspender000000000000000000000000000000000001",
              "name": "Unknown marketplace",
              "isContract": true,
              "isVerified": false,
              "isScam": false,
              "reputation": "unknown"
            },
            "riskLevel": "high",
            "reasons": [
              "COLLECTION_WIDE_APPROVAL",
              "SPENDER_CONTRACT_UNVERIFIED"
            ]
          }
        ],
        "recommendedActions": [
          "Review collection-wide approvals first; they usually carry the widest blast radius."
        ]
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": null,
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/whale-positions",
      "url": "https://api-402.com/api/whale-positions",
      "method": "GET",
      "label": "Whale Positions",
      "price": "0.00002",
      "currency": "USDC",
      "category": "Onchain Intelligence",
      "description": "Near real-time whale activity snapshot aggregated from HyperLiquid recent trades.",
      "access": "live_or_fallback",
      "upstream": "hyperliquid",
      "status": "live",
      "tags": [
        "onchain",
        "whale",
        "live"
      ],
      "locales": {
        "zh": {
          "label": "巨鲸仓位",
          "category": "链上情报",
          "description": "基于 HyperLiquid 实时成交聚合的巨鲸活跃地址快照。"
        },
        "en": {
          "label": "Whale Positions",
          "category": "Onchain Intelligence",
          "description": "Near real-time whale activity snapshot aggregated from HyperLiquid recent trades."
        }
      },
      "exampleRequest": {
        "curl": "curl -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  https://api-402.com/api/whale-positions\n\n# demo mode\ncurl -H \"Authorization: Bearer demo\" https://api-402.com/api/whale-positions",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.00002",
          "resource": "/api/whale-positions",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "source": "hyperliquid",
        "timeframe": "recent",
        "markets": [
          "BTC",
          "ETH"
        ],
        "positions": [
          {
            "address": "0x1234...",
            "trades": 12,
            "notionalUsd": 1250000,
            "dominantSide": "buy"
          },
          {
            "address": "0x5678...",
            "trades": 10,
            "notionalUsd": 980000,
            "dominantSide": "buy"
          },
          {
            "address": "0xabcd...",
            "trades": 9,
            "notionalUsd": 750000,
            "dominantSide": "sell"
          }
        ]
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": null,
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/btc-price",
      "url": "https://api-402.com/api/btc-price",
      "method": "GET",
      "label": "BTC Price",
      "price": "0.00001",
      "currency": "USDC",
      "category": "Market Data",
      "description": "Real-time BTC price feed aggregated from Binance.",
      "access": "live_or_fallback",
      "upstream": "binance",
      "status": "live",
      "tags": [
        "btc",
        "market-data",
        "realtime"
      ],
      "locales": {
        "zh": {
          "label": "BTC 价格",
          "category": "市场数据",
          "description": "聚合自 Binance 的 BTC 实时价格。"
        },
        "en": {
          "label": "BTC Price",
          "category": "Market Data",
          "description": "Real-time BTC price feed aggregated from Binance."
        }
      },
      "exampleRequest": {
        "curl": "curl -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  https://api-402.com/api/btc-price\n\n# demo mode\ncurl -H \"Authorization: Bearer demo\" https://api-402.com/api/btc-price",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.00001",
          "resource": "/api/btc-price",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "symbol": "BTC",
        "price": 67234.56,
        "timestamp": 1776807897150
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": null,
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/eth-price",
      "url": "https://api-402.com/api/eth-price",
      "method": "GET",
      "label": "ETH Price",
      "price": "0.00001",
      "currency": "USDC",
      "category": "Market Data",
      "description": "Real-time ETH price feed aggregated from Binance.",
      "access": "live_or_fallback",
      "upstream": "binance",
      "status": "live",
      "tags": [
        "eth",
        "market-data",
        "realtime"
      ],
      "locales": {
        "zh": {
          "label": "ETH 价格",
          "category": "市场数据",
          "description": "聚合自 Binance 的 ETH 实时价格。"
        },
        "en": {
          "label": "ETH Price",
          "category": "Market Data",
          "description": "Real-time ETH price feed aggregated from Binance."
        }
      },
      "exampleRequest": {
        "curl": "curl -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  https://api-402.com/api/eth-price\n\n# demo mode\ncurl -H \"Authorization: Bearer demo\" https://api-402.com/api/eth-price",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.00001",
          "resource": "/api/eth-price",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "symbol": "ETH",
        "price": 3456.78,
        "timestamp": 1776807897150
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": null,
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    },
    {
      "path": "/api/kline",
      "url": "https://api-402.com/api/kline",
      "method": "GET",
      "label": "Candlestick Data",
      "price": "0.001",
      "currency": "USDC",
      "category": "Trading",
      "description": "BTC/USDT candlestick snapshots sourced from Binance.",
      "access": "live_or_fallback",
      "upstream": "binance",
      "status": "live",
      "tags": [
        "trading",
        "candles",
        "binance"
      ],
      "locales": {
        "zh": {
          "label": "K 线数据",
          "category": "交易",
          "description": "来自 Binance 的 BTC/USDT K 线快照。"
        },
        "en": {
          "label": "Candlestick Data",
          "category": "Trading",
          "description": "BTC/USDT candlestick snapshots sourced from Binance."
        }
      },
      "exampleRequest": {
        "curl": "curl -H \"PAYMENT-SIGNATURE: <base64-signed-payload>\" \\\n  -H \"X-PAYMENT-TX-HASH: 0xreplace-with-base-usdc-transaction-hash\" \\\n  https://api-402.com/api/kline\n\n# demo mode\ncurl -H \"Authorization: Bearer demo\" https://api-402.com/api/kline",
        "paymentPayload": {
          "version": "1",
          "scheme": "exact",
          "network": "base",
          "currency": "USDC",
          "payTo": "0x0A5312e03C1fb2b64569fAF61aD2c6517cCB0D18",
          "from": "0xYourWalletAddress",
          "amount": "0.001",
          "resource": "/api/kline",
          "nonce": "replace-with-unique-nonce",
          "deadline": "2026-03-08T16:00:00.000Z",
          "issuedAt": "2026-03-08T15:55:00.000Z"
        }
      },
      "exampleResponse": {
        "symbol": "BTC/USDT",
        "interval": "1h",
        "candles": [
          [
            1700000000,
            67000,
            67500,
            66500,
            67200,
            1000
          ],
          [
            1700003600,
            67200,
            67800,
            67100,
            67650,
            1200
          ]
        ]
      },
      "requestMetrics": {
        "windowMs": 3600000,
        "totalRequests": 0,
        "successRate": 1,
        "paymentRequiredRate": 0,
        "rateLimitedRate": 0,
        "upstreamFallbackRate": 0,
        "paymentFunnel": {
          "challenged402": 0,
          "settled": 0,
          "replayed": 0,
          "challengeToReplayConversionRate": 0
        },
        "lastRequestAt": null,
        "lastErrorAt": null,
        "errorsByCode": [],
        "requestTrend": [
          {
            "bucketStart": "2026-04-21T20:44:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T20:54:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:04:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:14:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:24:57.150Z",
            "requests": 0,
            "errors": 0
          },
          {
            "bucketStart": "2026-04-21T21:34:57.150Z",
            "requests": 0,
            "errors": 0
          }
        ]
      },
      "lastUpdatedAt": null,
      "freshness": {
        "status": "unknown",
        "ageSeconds": null,
        "maxAgeSeconds": 900,
        "signal": "none"
      },
      "aiPolicy": null,
      "upstreamPolicy": {
        "timeoutMs": 8000,
        "failureThreshold": 3,
        "circuitCooldownMs": 30000,
        "fallback": "sample_response",
        "errorCodes": [
          "UPSTREAM_TIMEOUT",
          "UPSTREAM_HTTP_ERROR",
          "UPSTREAM_INVALID_RESPONSE",
          "UPSTREAM_FETCH_FAILED",
          "UPSTREAM_CIRCUIT_OPEN"
        ],
        "telemetry": {
          "windowMs": 900000,
          "sampleSize": 0,
          "successRate": 1,
          "avgLatencyMs": null,
          "p95LatencyMs": null,
          "lastSuccessAt": null,
          "lastFailureAt": null,
          "lastErrorCode": null,
          "updatedAt": null
        }
      }
    }
  ]
}