> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usecontra.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Check compliance (free)

> Free on-chain read mirror — answer 'is this address/agent verified?' for any caller.

The **composability moat.** Any caller (no key, no payment) can ask "is this agent verified?" The endpoint mirrors `SSIAgentV2.getEffectiveKycTier(agentId)` on Base mainnet.

## Request

```bash theme={null}
curl https://identity.contra.id/v1/compliance/0x70997970C51812dc3A010C7d01b50e0d17dc79C8
```

No auth required.

## Response · 200

```json theme={null}
{
  "address":     "0x70997970…7dc79C8",
  "agent_id":    42,
  "tier":        1,
  "valid_until": 1779000000,
  "revoked":     false,
  "registry":    "0x8004A169…a432",
  "chain":       "base-mainnet"
}
```

## Response · 200 — no agent

```json theme={null}
{ "address": "0x…", "agent_id": null, "tier": 0, "registry": "0x8004A169…a432" }
```

## Why it's free

The data lives on a public chain. Charging to mirror it would be charging twice. This is the **composable moat** — any smart contract or off-chain caller can verify compliance instantly without integrating with us.
