VerdictSwarm documentation

v2 · current

Build with it

Docs / Get started / Gate your first trade

Build a pre-trade token risk gate.

Call the Verdict API before money moves, branch on avoid, caution, or clear, and stop when the service cannot produce a valid result.

Endpoint · POST /v2/verdictChains · solana · baseDefault target · 2.5s p95

01

Get a key.

Mint a keyed Free credential at POST /v2/keys, or fund a prepaid key for higher usage. Wallet-native callers can instead use the x402 challenge returned by the verdict endpoint.

Keyed Free allowances are 2000 triage, 300 fast, and 10 deep calls per day.

02

Make one pinned call.

This runnable request is generated from the checked-in live JUP fixture. The API key comes from your environment.

curl · pinned fixture request
curl -sS -X POST https://api.vswarm.io/v2/verdict \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $VS_API_KEY" \
  -d '{"address":"JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN","chain":"solana","level":"fast","include":[]}'

03

Read the decision first.

Branch on verdict.action. Score, grade, confidence, and signals explain that action; they do not replace it.

json · pinned live response
{
  "schema_version": "1.1",
  "request": {
    "address": "JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN",
    "chain": "solana",
    "level": "fast",
    "include": []
  },
  "verdict": {
    "action": "caution",
    "score": 82,
    "grade": "A",
    "risk_level": "low",
    "confidence": 1,
    "summary": "Jupiter (JUP) is a well-established major Solana ecosystem token with strong financials, a long operating history, and safe authority settings."
  },
  "signals": [
    {
      "id": "honeypot_simulation",
      "category": "security",
      "severity": "critical",
      "pass": true,
      "value": "ok",
      "detail": "Sell simulation passed."
    },
    {
      "id": "mint_authority",
      "category": "security",
      "severity": "critical",
      "pass": true,
      "value": "revoked",
      "detail": "Mint authority revoked — cannot inflate supply."
    },
    {
      "id": "freeze_authority",
      "category": "security",
      "severity": "high",
      "pass": true,
      "value": "revoked",
      "detail": "Freeze authority revoked — holders cannot be frozen."
    },
    {
      "id": "top10_holder_concentration",
      "category": "distribution",
      "severity": "high",
      "pass": false,
      "value": 66.2,
      "detail": "Top-10 wallets hold 66.2% of supply."
    },
    {
      "id": "contract_verified",
      "category": "transparency",
      "severity": "medium",
      "pass": true,
      "value": "verified",
      "detail": "Contract source code is publicly verified."
    },
    {
      "id": "liquidity_vs_mcap",
      "category": "liquidity",
      "severity": "high",
      "pass": false,
      "value": 0.0033,
      "detail": "Very low liquidity ratio: 0.33% of market cap."
    }
  ],
  "agents": [
    {
      "name": "FreeTierAI",
      "score": 8.2,
      "sentiment": "bullish",
      "key_findings": [
        "Token age is 919 days, indicating a long-standing and established project.",
        "Market cap stands at $607.5M with $2.0M in liquidity, reflecting mature market operations.",
        "Mint and freeze authorities have both been revoked, eliminating centralized supply manipulation risks.",
        "Missing holder metrics are typical data provider anomalies for high-volume native assets and do not negate foundational safety."
      ],
      "reasoning": null
    }
  ],
  "data_freshness": {
    "onchain_age_seconds": 2911,
    "market_age_seconds": 3,
    "social_age_seconds": 3,
    "basis": "observed"
  },
  "token": {
    "name": "Jupiter",
    "symbol": "JUP",
    "price_usd": 0.1829,
    "liquidity_usd": 2021849.5,
    "mcap_usd": 607509009,
    "fdv_usd": 1280767814,
    "volume_24h_usd": 316009.15,
    "holder_count": 827230,
    "age_days": 919,
    "top10_holder_pct": 66.22
  },
  "data_quality": {
    "required_missing": [
      "Holder data"
    ],
    "optional_missing": [],
    "warnings": [
      "Required data missing: Holder data unavailable during initial scan. Treat as missing data, not a negative signal.",
      "Holder count reported as 0 with mcap $607.5M — likely API limitation, not indicative of actual holder base",
      "Top 10 holder concentration unavailable — data source did not return holder distribution. Do not penalize for missing data."
    ],
    "degraded_agents": []
  },
  "liquidity_exposure_cap_usd": 10000,
  "data_confidence": 1,
  "insufficient_data": false,
  "lifecycle": null,
  "timing": null,
  "observation_id": "9cd71c81-86a4-4380-9eb0-d7e482948e98",
  "cached": false,
  "generated_at": "2026-08-07T16:55:18.090125Z",
  "latency_ms": 3099,
  "billing": {
    "rail": "free",
    "amount_usdc": "0",
    "tx": null,
    "degraded": false,
    "retry_voucher": null
  }
}

04

Gate execution.

Keep the verdict as one control inside your own policy. A clear result permits the next control to run; it does not compel a trade.

python · policy branch
decision = response["verdict"]["action"]

if decision == "clear":
    continue_only_if_local_policy_passes()
elif decision == "caution":
    require_review()
else:
    block_execution()

05

Write the integrator policy.

DecisionMeaningIntegrator actionLog
avoidA blocking risk signal was found.Stop execution.Action, score, signal ids, observation id, and failure context.
cautionMaterial concerns or uncertainty need verification.Pause for review or a policy-approved deeper call.Action, confidence, unresolved signals, and chosen escalation.
clearNo policy blocker was identified in the available data.Continue only if every other local control passes.Action, data freshness, observation id, and local controls.

Builder questions

How does Free API access work?

Mint a key without account auth. Daily allowances are tracked separately for triage, fast, and deep; x402 or prepaid credits can cover later calls.

When should a human upgrade?

Pro is $19.99 per month, or $15.99 per month billed annually, with 50 web scans per day and the configured specialist panel.

Which chains can the verdict endpoint scan?

solana and base only. Other chains must stop at your routing boundary.

Can an autonomous agent call it?

Yes. Use the API with x402 or prepaid credits, the published MCP server, or the Virtuals ACP offering. See the integration guide.

Understand it

Read what the machine decided.

A verdict is an execution-oriented risk assessment built from deterministic signals, live data, and—at deep depth—a specialist analyst swarm.

What a verdict is.

AVOID means a blocking risk signal was found. CAUTION means material concerns or uncertainty require verification. CLEAR means no policy blocker was identified in the available data. The result is automated risk information, not financial advice.

Read the full decision and evidence methodology for analysis depths, base category weights, uncertainty rules, and bounded outcome accounting.

The 6 analysts.

Deep calls run the configured specialist panel independently, then cross-examine material disagreement before adjudication.

SCOUT

Technician

On-chain technical analysis

SCOUT

Security

Smart contract security audit

INVESTIGATOR

Tokenomics

Token distribution and economics analysis

INVESTIGATOR

Social

Social intelligence and sentiment analysis

INVESTIGATOR

Macro

Macro market conditions analysis

INVESTIGATOR

Devil's Advocate

Skeptical due-diligence contrarian analysis

How the score works.

The score and grade summarize the supporting analysis. The configured thresholds below map the score to a grade; the authoritative pre-trade signal remains verdict.action.

ScoreGradeRisk
90–100A+LOW
80–89ALOW
70–79BMEDIUM
60–69CMEDIUM
40–59DHIGH
0–39FCRITICAL

Reading a receipt.

Start with the action, verify confidence and freshness, inspect the signals, then retain the observation id as the decision receipt. Report pages and proof surfaces are verification aids; no public immutable verdict-storage product is claimed.

FieldRead asReader policy
verdict.actionThe authoritative execution signal.CLEAR is not a buy recommendation.
verdict.scoreA summary of the supporting analysis.It does not override the action.
verdict.confidenceHow strongly the available evidence supports the result.Check data coverage before relying on it.
signalsThe machine-readable evidence behind the decision.Inspect failed and high-severity signals.

Who runs this

Sentien Labs LLC.

VerdictSwarm is built by Sentien Labs LLC, a Texas-based company focused on applied AI products.