83trust / 100

Sol Token Safety

by Solana token safety check in Onchain & crypto

x402 APIPassing, checked 53 min ago

Safety verdict for one Solana token mint: a graded risk score with the concrete reasons behind it, mint and freeze authority state, how much of the liquidity pool is locked, top-holder concentration, holder count and whether the token is verified. Use it before an agent buys, quotes, or recommends an unfamiliar token, and to screen a list of mints in seconds.

POST https://agent402.tools/api/sol-token-safety

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
208 ms typical, 208 ms slowest 5%
Last check
53 min ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://agent402.tools/api/sol-token-safety" \
  -H "content-type: application/json" \
  -d '{"mint":"JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fagent402.tools%2Fapi%2Fsol-token-safety
const res = await pay("https://agent402.tools/api/sol-token-safety", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"mint":"JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"}),
});
console.log(await res.json());

Example input

{
  "mint": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN"
}

Example output

{
  "authorities": {
    "freezeAuthority": null,
    "freezeAuthorityDisabled": true,
    "mintAuthority": null,
    "mintAuthorityDisabled": true
  },
  "fetchedAt": "2026-08-22T12:00:00.000Z",
  "holders": {
    "devBalancePct": null,
    "devMints": 1,
    "topHoldersPct": 15.28
  },
  "lpLockedPct": 8.98,
  "mint": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN",
  "riskCounts": {
    "danger": 0,
    "info": 0,
    "warn": 1
  },
  "riskLevel": "good",
  "risks": [
    {
      "description": "Token metadata can be changed by the update authority",
      "level": "warn",
      "name": "Mutable metadata",
      "score": 100,
      "value": null
    }
  ],
  "score": 3550201,
  "scoreNormalised": 97,
  "source": [
    "rugcheck",
    "jupiter"
  ],
  "token": {
    "decimals": 6,
    "holderCount": 835540,
    "isVerified": true,
    "launchpad": null,
    "name": "Jupiter",
    "organicScore": 99.3,
    "organicScoreLabel": "high",
    "symbol": "JUP"
  }
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
53 min agoPassed402185 ms$0.005
4 h agoPassed402208 ms$0.005
9 h agoPassed402415 ms$0.005