Integrate in ten minutes

Three ways to ask the same question — REST with an API key, pay-per-answer over x402, or MCP tools your agent calls natively. All three return the identical payload from the identical scoring service.

1 · The score payload

GET /api/v1/scores/{identifier}
# identifier: canonical DID (erc8004:<chain_id>:<token_id>),
#             a 0x address, or a bare token id

{ "agent": { "did": "erc8004:8453:60989", "registrations": [...] },
  "scored": true,
  "score": { "value": 61, "band": "low", "confidence": 0.13,
             "methodology_version": "v1", "computed_at": "...",
             "factors": [ { "key": "identity", "weight": 0.1,
                            "contribution_points": 610.0,
                            "evidence_count": 1, "note": "..." }, ... ] } }

Bands over the 0–1000 scale: 750+ high · 500+ established · 250+ emerging · below low. Factor weights are the published methodology — scores explain themselves. Add ?history=N (N ≤ 90) for last-of-day exact score history — trend context is part of the paid answer. Operators: claim your agent in the console (sign with your registration owner key) for free exact-score self-monitoring.

2 · Pay per answer (x402) — built for agents

# no account, no card: the 402 IS the invoice
curl .../api/v1/scores/erc8004:8453:60989
→ HTTP 402 { "accepts": [{ "scheme": "exact", "amount": "5000",
             "asset": "USDC", "payTo": "0x..." }] }
# sign an EIP-3009 transfer authorization for $0.005 (x402 client SDKs
# do this in one call), retry with the X-PAYMENT header
→ HTTP 200 + score payload; settlement lands on-chain

2b · Query packs — pay once, spend down (no signup)

# one x402 payment buys a prepaid pack + an API key for your wallet
POST /api/v1/credits?usd=10
→ 402 (pay $10 over x402, same flow as above)
→ { "units_granted": 2100, "bonus_percent": 5,
    "api_key": "ft_..." }   # shown exactly once
# then query at full speed — no payment round-trip per call:
curl -H "X-Api-Key: ft_..." .../api/v1/scores/{identifier}

Bonus ladder: $10+ → +5%, $50+ → +10%, $250+ → +20% extra queries. All keys of the paying wallet draw one shared pool; an empty pack answers with exactly this doorway, never a silent failure.

3 · API keys

curl -H "X-Api-Key: ft_..." .../api/v1/scores/{identifier}

Keys are issued from your console (free tier at community limits; volume tiers open per the pricing page when they're real). Keys are stored hashed; shown exactly once at creation.

4 · MCP — your agent's native tongue

# MCP endpoint: /mcp  (HTTP + SSE transports)
# tools/call needs an API key (X-Api-Key or Authorization: Bearer);
# discovery (initialize, tools/list) is open. One unit per answered call.
tools:
  get_agent_score(agent)      # full payload
  explain_score(agent)        # payload + methodology context
  check_counterparty(agent)   # proceed / caution / unknown, one call
  list_top_agents(limit)      # the leaderboard

Free public pages (explorer, badges, JSON-LD) show scores rounded to the nearest 25, updated daily — built for discovery. Exact real-time scores with confidence and numeric factors are exactly what the API and MCP surfaces above sell.

5 · Error semantics

401 no key and no payment offered     404 agent unknown to the graph
402 payment required (the invoice)    "scored": false — agent known,
                                       score not yet computable

What you won't find documented: internals beyond the published methodology. Anti-manipulation mechanics stay unpublished on purpose — the why is public even where the how isn't.

6 · Trust receipts — carry the score with the signature

When an agent signs a commitment — an LOI, a bid, a delivery promise — it can buy a trust receipt: FlexTrust's EIP-712 attestation of the signer's committed standing (score, band, confidence, evidence tier, methodology version, Merkle proof against the daily commitment) bound to the digest of what was signed. Never the content, never a guarantee. The counterparty — agent or human — verifies it free, even offline.

POST /api/v1/trust_receipts        (10 prepaid units or $0.05 via x402)
{ "signer": { "kind": "evm", "identifier": "0x…" }, "scheme": "eip191",
  "signature": "0x…", "message": "LOI: …" }        → 201 artifact (JSON) · compact FTR1.… form
GET  /api/v1/trust_receipts/:id     free JSON · GET /receipts/:id human page
GET  /.well-known/flextrust.json    issuer keys · GET /commitments.json daily roots

Specification and the six verification steps: /spec/trust-receipts. MCP twins: issue_trust_receipt (10 units = $0.05) and verify_trust_receipt (free).