# Aegis KYT

> AML / KYT risk screening for crypto addresses and transactions. One verdict
> built from 100+ label sources (sanctions, hacks, scams, mixers, exchanges,
> DeFi) plus graph exposure analysis. Two public APIs: pay-per-call in USDC on
> Base via x402 (no signup, no API key) and a key-based V2 API.

Use Aegis when you need to answer "is it safe to send funds to / accept funds
from this address?" or "where did the money in this transaction come from?".
Results are risk scores and exposure evidence, not accusations: a high score
means the address is linked to risky activity, not that its owner committed a
crime.

## Which API to use

- **No account, paying per call (best for autonomous agents):** x402 API at
  https://x402.aegis-kyt.com. Call an endpoint, receive HTTP 402 with payment requirements,
  pay in USDC on Base, retry with the payment header. Spec:
  https://x402.aegis-kyt.com/openapi.json. Price list: https://x402.aegis-kyt.com/.well-known/x402.json
- **You have an `aeg_…` API key (integrations, back-office):** V2 API at
  https://api.aegis-kyt.com/v2. Send `Authorization: Bearer aeg_<key>`. Spec:
  https://api.aegis-kyt.com/v2/openapi.json. `POST /v2/check-address` and `POST /v2/check-transfer`
  always return 202 + `check_id`; poll the `result_url` until 200.

## Endpoints and prices

Same numbers on both APIs: x402 charges USDC on Base per call; V2 debits
credits from a prepaid balance (1 credit = 1 USDT of top-up, topped up in
USDT on TRON; credits never expire).

- Screen address — labels + consensus risk, no graph traversal — 0.10 USDC
  (x402) / 0.1 credit (V2):
  x402 `GET /screen/{chain}/{address}` · V2 `POST /v2/screen`
- Check address — full 4-tier verdict (sanctions, label consensus, 1-hop
  inheritance, BFS exposure), V2 returns `decision`
  (accept / review / reject / unable) — 1.00 USDC (x402) / 1 credit (V2):
  x402 `GET /check-address/{chain}/{address}` · V2 `POST /v2/check-address`
- Check transfer (KYT) — decode a tx, analyse every sender's exposure, apply
  the Aegis Standard policy — 1.00 USDC (x402) / 1 credit (V2):
  x402 `GET /check-transfer/{chain}/{tx_hash}` · V2 `POST /v2/check-transfer`

Supported networks vary per endpoint; the live list is
`GET https://api.aegis-kyt.com/v2/networks`. EVM addresses are case-insensitive (send
lowercase); TRON, BTC and SOL addresses are case-sensitive base58.

## Docs

- [Quickstart](https://docs.aegis-kyt.com/quickstart.md): first paid call in five minutes
- [x402 protocol](https://docs.aegis-kyt.com/authentication/x402.md): the 402 → pay → retry flow on the wire
- [V2 API key](https://docs.aegis-kyt.com/authentication/v2-api-key.md): getting an `aeg_…` key
- [Networks](https://docs.aegis-kyt.com/reference/networks.md): accepted `{chain}` values
- [Risk categories](https://docs.aegis-kyt.com/reference/risk-categories.md): taxonomy behind `risk_categories[]`
- [Methodology](https://docs.aegis-kyt.com/reference/methodology.md): the 4-tier engine and scoring
- [Error codes](https://docs.aegis-kyt.com/reference/error-codes.md): HTTP statuses and error bodies
- [Webhooks](https://docs.aegis-kyt.com/webhooks/overview.md): signed push notifications
- [Changelog](https://docs.aegis-kyt.com/changelog.md)

## Machine-readable

- [V2 OpenAPI 3.1](https://api.aegis-kyt.com/v2/openapi.json): live contract of the key-based API
- [x402 OpenAPI](https://x402.aegis-kyt.com/openapi.json): contract of the pay-per-call API
- [x402 discovery](https://x402.aegis-kyt.com/.well-known/x402.json): paid endpoints, prices, settlement network
- [API catalog](https://aegis-kyt.com/.well-known/api-catalog): RFC 9727 linkset of both APIs
- [Docs MCP manifest](https://docs.aegis-kyt.com/.well-known/mcp.json): search and read the docs over MCP; the endpoint itself (Streamable HTTP, no auth) is `https://docs.aegis-kyt.com/mcp`

## Optional

- [Full docs as one file](https://docs.aegis-kyt.com/llms-full.txt)
- [x402 landing page](https://aegis-kyt.com/x402)
- [Privacy policy](https://aegis-kyt.com/privacy)
- Contact: hello@aegis-kyt.com
