{
  "x402Version": 2,
  "id": 1156,
  "slug": "1156",
  "resource": "https://gateway.stride20k.com/risk/token/:chain/:address",
  "description": "Token risk score API: deterministic 0-100 rug-check for ERC-20s on Ethereum, Base, Polygon, Arbitrum, Optimism, BSC, and Avalanche. Combines on-chain reads (bytecode, symbol, decimals, supply), DefiLlama price + confidence, and Etherscan verification and age. Published rubric, no AI: start 50; no bytecode=0; +15 price (+10 confidence>=0.9); +15 verified source (-10 unverified); -10 zero supply; -5 odd decimals; +10 age>=180d, -15 age<7d. NOT financial advice.",
  "type": "http",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x552Cc4A10878C7F20574489D47184249657Ca3f6",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "150000",
      "maxTimeoutSeconds": 60
    }
  ],
  "outputSchema": {
    "bazaar": {
      "info": {
        "input": {
          "method": "GET",
          "pathParams": {
            "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "chain": "base"
          },
          "queryParams": {},
          "type": "http"
        },
        "output": {
          "example": {
            "data": {
              "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
              "chain": "base",
              "flags": [
                "age-unknown"
              ],
              "score": 90,
              "signals": {
                "checksPerformed": [
                  "onchain-bytecode",
                  "onchain-erc20-metadata",
                  "defillama-price",
                  "etherscan-source-verification",
                  "contract-age"
                ],
                "codePresent": true,
                "contractAgeDays": null,
                "decimals": 6,
                "priceConfidence": 0.99,
                "priceUsd": 0.9999,
                "sourceVerified": true,
                "symbol": "USDC",
                "totalSupply": "4278248104328312"
              }
            },
            "endpoint": "/risk/token/:chain/:address",
            "meta": {
              "attribution": null,
              "cached": false,
              "fetchedAt": "2026-07-04T00:00:00.000Z",
              "source": "on-chain + defillama + etherscan (optional)"
            },
            "ok": true
          },
          "type": "json"
        }
      },
      "routeTemplate": "/risk/token/:chain/:address",
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "input": {
            "additionalProperties": false,
            "properties": {
              "method": {
                "enum": [
                  "GET"
                ],
                "type": "string"
              },
              "pathParams": {
                "properties": {
                  "address": {
                    "description": "ERC-20 token contract address, 0x-prefixed.",
                    "pattern": "0x[a-fA-F0-9]{40}",
                    "type": "string"
                  },
                  "chain": {
                    "aliases": {
                      "1": "ethereum",
                      "10": "optimism",
                      "56": "bsc",
                      "137": "polygon",
                      "8453": "base",
                      "42161": "arbitrum",
                      "43114": "avalanche",
                      "arb": "arbitrum",
                      "avax": "avalanche",
                      "bnb": "bsc",
                      "eth": "ethereum",
                      "matic": "polygon",
                      "op": "optimism"
                    },
                    "description": "Chain to analyze. Shorthands accepted: 1, 10, 56, 137, 8453, 42161, 43114, eth, arb, op, matic, avax, bnb.",
                    "enum": [
                      "ethereum",
                      "base",
                      "polygon",
                      "arbitrum",
                      "optimism",
                      "bsc",
                      "avalanche"
                    ],
                    "missTrack": true,
                    "normalize": "lower",
                    "type": "string"
                  }
                },
                "required": [
                  "chain",
                  "address"
                ],
                "type": "object"
              },
              "queryParams": {
                "properties": {},
                "type": "object"
              },
              "type": {
                "const": "http",
                "type": "string"
              }
            },
            "required": [
              "type",
              "method"
            ],
            "type": "object"
          },
          "output": {
            "properties": {
              "example": {
                "properties": {
                  "data": {
                    "properties": {
                      "address": {
                        "description": "Token contract address, lowercase.",
                        "type": "string"
                      },
                      "chain": {
                        "description": "Chain analyzed.",
                        "type": "string"
                      },
                      "flags": {
                        "description": "Rubric flags, e.g. 'unverified-source', 'very-new-contract'.",
                        "type": "array"
                      },
                      "score": {
                        "description": "0-100; higher = fewer red flags. Deterministic rubric (see description).",
                        "type": "integer"
                      },
                      "signals": {
                        "description": "Every rubric input: codePresent, symbol, decimals, totalSupply, priceUsd, priceConfidence, sourceVerified, contractAgeDays, checksPerformed.",
                        "type": "object"
                      }
                    },
                    "required": [
                      "chain",
                      "address",
                      "score",
                      "flags",
                      "signals"
                    ],
                    "type": "object"
                  },
                  "endpoint": {
                    "description": "Always \"/risk/token/:chain/:address\".",
                    "type": "string"
                  },
                  "meta": {
                    "properties": {
                      "attribution": {
                        "description": "Licensing attribution when the source requires it.",
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "cached": {
                        "description": "Whether this response was served from cache.",
                        "type": "boolean"
                      },
                      "fetchedAt": {
                        "description": "ISO 8601 time the data was actually retrieved from the upstream.",
                        "type": "string"
                      },
                      "source": {
                        "description": "Upstream source: on-chain + defillama + etherscan (optional).",
                        "type": "string"
                      }
                    },
                    "required": [
                      "source",
                      "cached",
                      "fetchedAt"
                    ],
                    "type": "object"
                  },
                  "ok": {
                    "description": "true on success.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "ok",
                  "endpoint",
                  "data",
                  "meta"
                ],
                "type": "object"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    }
  },
  "tags": [
    "bazaar"
  ],
  "sourceHost": "gateway.stride20k.com",
  "lastUpdated": "2026-08-30T12:06:39.351Z",
  "quality": {
    "calls30d": 3,
    "uniquePayers30d": 1,
    "lastCalledAt": "2026-08-30T12:06:39.237Z"
  },
  "liveness": {},
  "verified": false,
  "featured": false,
  "provider": {
    "host": "gateway.stride20k.com",
    "manifest_name": "gateway.stride20k.com",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-09-18T22:00:31.484Z"
  }
}