Chord · Schema

TokenRiskReport

Chord's safety report for one token.

FinanceTradingArtificial IntelligenceCryptocurrency

Properties

Name Type Description
chain object The chain id, or `solana`.
address string The token (0x, lower-cased) or the Solana mint (case kept).
symbol stringnull As the contract or the token list names it: chosen by whoever launched the token.
name stringnull
verdict string Decided in code from the checks, never by a model. `avoid`: it cannot be sold, a sell tax of 30% or more, a scam verdict of Chord's tape screen, or a copy of a listed token's ticker. `caution`: a chec
score integernull 0 (worst) to 100, in the verdict's band; null when the verdict is `unknown`.
checks array Every check, in a fixed order.
facts object The numbers behind the checks: `buyTaxPct`, `sellTaxPct`, `transferTaxPct`, `honeypot`, `owner`, `ownerRenounced`, `proxy`, `implementation`, `upgrader`, `verifiedSource`, `mintable`, `blacklist`, `pa
sources array Where to read it yourself (explorer, GoPlus, RugCheck, Sourcify, Jupiter).
checkedAt integer Unix time, milliseconds — when the server built this answer.
partial boolean True when at least one source did not answer, or when GoPlus was the only one that did.
vetted boolean On a list Chord trusts (stock / ETF / bridged list token, the bridge provider's list, Monad's verified list, a registry anchor; on Solana Jupiter-verified majors): the issuer's own powers (mint, freez
View JSON Schema on GitHub

JSON Schema

getchord-xyz-token-risk-report-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/getchord-xyz/json-schema/getchord-xyz-token-risk-report-schema.json",
  "title": "TokenRiskReport",
  "description": "Chord's safety report for one token.",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/getchord-xyz-openapi.json#/components/schemas/TokenRiskReport",
  "type": "object",
  "properties": {
    "chain": {
      "oneOf": [
        {
          "type": "integer"
        },
        {
          "type": "string",
          "const": "solana"
        }
      ],
      "description": "The chain id, or `solana`."
    },
    "address": {
      "type": "string",
      "description": "The token (0x, lower-cased) or the Solana mint (case kept)."
    },
    "symbol": {
      "type": [
        "string",
        "null"
      ],
      "description": "As the contract or the token list names it: chosen by whoever launched the token."
    },
    "name": {
      "type": [
        "string",
        "null"
      ],
      "description": ""
    },
    "verdict": {
      "type": "string",
      "enum": [
        "avoid",
        "caution",
        "ok",
        "unknown"
      ],
      "description": "Decided in code from the checks, never by a model. `avoid`: it cannot be sold, a sell tax of 30% or more, a scam verdict of Chord's tape screen, or a copy of a listed token's ticker. `caution`: a check that warns (taxes of 5 to 30%, an owner who can mint, block wallets or pause, code one wallet can upgrade, unverified source, unlocked liquidity one provider can pull, top 10 holders over 60% …). `ok`: none of that, with two independent sources answering and a sell test passing. `unknown`: too few sources, or nothing could test selling it. Never read `ok` as a guarantee."
    },
    "score": {
      "type": [
        "integer",
        "null"
      ],
      "description": "0 (worst) to 100, in the verdict's band; null when the verdict is `unknown`."
    },
    "checks": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/RiskCheck"
      },
      "description": "Every check, in a fixed order."
    },
    "facts": {
      "type": "object",
      "additionalProperties": true,
      "description": "The numbers behind the checks: `buyTaxPct`, `sellTaxPct`, `transferTaxPct`, `honeypot`, `owner`, `ownerRenounced`, `proxy`, `implementation`, `upgrader`, `verifiedSource`, `mintable`, `blacklist`, `pausable`, `lpLockedPct`, `top10Pct`, `holders`, `creator`, `creatorPct`, `screenLevel`, `screenReasons`, `simulation` (Chord's $20 buy and sell back: status, taxes, round trip), `reasons` (the counted reasons, worst first), `answered` / `missing` (the sources), `goplusOnly` (only GoPlus answered: the report is partial). Solana adds `mintAuthority`, `freezeAuthority`, `token2022Extensions`, `permanentDelegate`, `liquidityUsd`, `pools`, `topHolders`, `jupiterVerified`, `rugcheckScore` …"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": ""
          },
          "href": {
            "type": "string",
            "description": ""
          }
        }
      },
      "description": "Where to read it yourself (explorer, GoPlus, RugCheck, Sourcify, Jupiter)."
    },
    "checkedAt": {
      "type": "integer",
      "description": "Unix time, milliseconds — when the server built this answer."
    },
    "partial": {
      "type": "boolean",
      "description": "True when at least one source did not answer, or when GoPlus was the only one that did."
    },
    "vetted": {
      "type": "boolean",
      "description": "On a list Chord trusts (stock / ETF / bridged list token, the bridge provider's list, Monad's verified list, a registry anchor; on Solana Jupiter-verified majors): the issuer's own powers (mint, freeze, pause, upgrades) are listed but do not raise the verdict. Taxes and the sell test still count."
    }
  },
  "required": [
    "chain",
    "address",
    "verdict",
    "score",
    "checks",
    "facts",
    "sources",
    "checkedAt",
    "partial",
    "vetted"
  ],
  "$defs": {
    "RiskCheck": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Stable id, snake_case: `honeypot`, `buy_tax`, `sell_tax`, `transfer_tax`, `round_trip`, `owner_can_mint`, `blacklist`, `pausable`, `owner_privileges`, `hidden_owner`, `proxy_upgradeable`, `unverified_source`, `lp_unlocked`, `top10_holders`, `creator_holds`, `creator_history`, `tape_screen`, `impostor_ticker`, `own_checks` …; Solana adds `freeze_authority`, `mint_authority`, `token2022_extensions`, `mutable_metadata`, `liquidity` …"
        },
        "label": {
          "type": "string",
          "description": "Short English label (`Sell tax`, `Owner can mint`)."
        },
        "status": {
          "type": "string",
          "enum": [
            "pass",
            "warn",
            "fail",
            "unknown"
          ],
          "description": "`unknown` = the source that reads it did not answer, or nothing could test it. Never `pass` for a check that did not run."
        },
        "detail": {
          "type": "string",
          "description": "One sentence with the measured number (`Selling loses 40% to the token's own tax (Chord simulation 40%, GoPlus 40%).`)."
        },
        "source": {
          "type": "string",
          "description": "Who read it, in words, at most 60 characters (`Chord simulation`, `Chord contract scan`, `Chord tape`, `RugCheck`, `Sourcify`). A reading from GoPlus says `GoPlus (Powered by Go+ Security)`."
        }
      },
      "description": "One check of the report.",
      "required": [
        "id",
        "label",
        "status",
        "detail",
        "source"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/getchord-xyz-token-risk-report"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.