KyroKyro Docs
ReferenceAPI Reference

Get a wallet's committed reputation score

GET
/api/v1/score/{wallet}

Returns the wallet's score snapshot: the 0-100 score, risk level, per-component breakdown, multi-chain activity totals, attestation counts, and freshness metadata. Valid wallets always answer 200: cacheStatus cached means a committed snapshot; otherwise the payload is a conservative baseline (use Intake to index the wallet, then poll this read until cacheStatus is cached). A known wallet whose evidence is stale or uncommitted may automatically start a background refresh, visible as refreshInProgress: true; a wallet Kyro has never seen does not auto-index. Costs 1 rate unit.

Authorization

bearerApiKey
AuthorizationBearer <token>

Optional Kyro API key: Authorization: Bearer kyro_live_.... Anonymous access (no header) works on every endpoint with a lower rate limit (20 units/minute per IP vs 120 units/minute per key). Keys are validated only when the header is present; a malformed, unknown or revoked key is rejected with 401 INVALID_KEY.

In: header

Path Parameters

wallet*string

EVM wallet address. 0x + 40 hex characters (case-insensitive).

Match^0x[a-fA-F0-9]{40}$

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/score/0xd8da6bf26964af9d7eed9e03e53415d37aa96045"
{  "ok": true,  "version": "v1",  "data": {    "wallet": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",    "username": null,    "score": 79,    "scoreModelVersion": "identity_score_v1",    "riskLevel": "Trusted",    "badge": "Trusted Wallet Credential",    "breakdown": {      "globalWalletAge": 20,      "crossChainActivity": 4,      "arcActivity": 25,      "counterpartyDiversity": 15,      "verifiedAttestations": 0,      "propagatedTrust": 0,      "transactionActivity": 15,      "riskPenalty": 0    },    "activeChains": [      "Ethereum Mainnet",      "Arbitrum",      "Polygon",      "Arc Testnet"    ],    "totalTxCount": 5664,    "arcTxCount": 211,    "globalWalletAgeDays": 3970,    "attestations": {      "acceptedCount": 0,      "uniqueCounterparties": 0    },    "cacheStatus": "cached",    "lastIndexedAt": "2026-08-11T13:36:05.979Z",    "refreshInProgress": false,    "refreshRecommended": false  }}