Transaction Check (KYT): decode + Tier 4 BFS + policy — submit
curl --request POST \
--url https://api.aegis-kyt.com/v2/check-transfer \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"chain": "TRON",
"tx_hash": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
'import requests
url = "https://api.aegis-kyt.com/v2/check-transfer"
payload = {
"chain": "TRON",
"tx_hash": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
chain: 'TRON',
tx_hash: '0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
})
};
fetch('https://api.aegis-kyt.com/v2/check-transfer', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"schema_version": 1,
"check_id": "8f1f1c2e-4b8e-4f6a-9b3c-2a7d9e5c1f00",
"status": "completed",
"chain": "TRON",
"tx_hash": "3dba6516a1f9a1b2c3d4e5f60718293a4b5c6d7e8f901234567890abcdef1234",
"parse_result": {
"transfers": [
{
"from": "TXmVpin5vq5gdZsciyyjdZgKRUju4st1wM",
"to": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
"asset": "USDT",
"value": "2500.000000",
"value_usd": 2500
}
]
},
"composite_result": {
"risk_level": "medium",
"risk_score": 38,
"risk_categories": [
"sanctions_exposure"
],
"origin_sources": [
{
"category": "exchange",
"share": 0.81
},
{
"category": "sanctions_exposure",
"share": 0.19
}
],
"cold_enrich": {
"candidates": 1,
"folded": 1
}
},
"policy_result": {
"risk_level": "medium",
"alerts": [],
"policy": "standard"
},
"decode_warnings": [],
"billing": {
"model": "ledger",
"charged_usd": "0.500000",
"balance_usd": "42.500000",
"monthly_spent_usd": "12.300000",
"monthly_cap_usd": "500.000000"
}
}{
"detail": [
{
"loc": [
"body",
"address"
],
"msg": "Field required",
"type": "missing"
}
]
}V2 Public API
POST /v2/check-transfer
Transaction Check (KYT) — decode a tx, run Tier 4 BFS per sender, apply the Aegis Standard policy. The V2 counterpart of x402 GET /check-transfer.
POST
/
check-transfer
Transaction Check (KYT): decode + Tier 4 BFS + policy — submit
curl --request POST \
--url https://api.aegis-kyt.com/v2/check-transfer \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"chain": "TRON",
"tx_hash": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
'import requests
url = "https://api.aegis-kyt.com/v2/check-transfer"
payload = {
"chain": "TRON",
"tx_hash": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
chain: 'TRON',
tx_hash: '0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
})
};
fetch('https://api.aegis-kyt.com/v2/check-transfer', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"schema_version": 1,
"check_id": "8f1f1c2e-4b8e-4f6a-9b3c-2a7d9e5c1f00",
"status": "completed",
"chain": "TRON",
"tx_hash": "3dba6516a1f9a1b2c3d4e5f60718293a4b5c6d7e8f901234567890abcdef1234",
"parse_result": {
"transfers": [
{
"from": "TXmVpin5vq5gdZsciyyjdZgKRUju4st1wM",
"to": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
"asset": "USDT",
"value": "2500.000000",
"value_usd": 2500
}
]
},
"composite_result": {
"risk_level": "medium",
"risk_score": 38,
"risk_categories": [
"sanctions_exposure"
],
"origin_sources": [
{
"category": "exchange",
"share": 0.81
},
{
"category": "sanctions_exposure",
"share": 0.19
}
],
"cold_enrich": {
"candidates": 1,
"folded": 1
}
},
"policy_result": {
"risk_level": "medium",
"alerts": [],
"policy": "standard"
},
"decode_warnings": [],
"billing": {
"model": "ledger",
"charged_usd": "0.500000",
"balance_usd": "42.500000",
"monthly_spent_usd": "12.300000",
"monthly_cap_usd": "500.000000"
}
}{
"detail": [
{
"loc": [
"body",
"address"
],
"msg": "Field required",
"type": "missing"
}
]
}Auth:
Authorization: Bearer aeg_… · Billing: charge-on-success, per your plan (commercial agreement)/v2/check-address
screens an address. Aegis decodes the tx, runs AML exposure analysis on
each sender via Tier 4 BFS, applies the Aegis Standard policy to the
USD-weighted composite, and returns PolicyAlerts.
Mirrors the x402 GET /check-transfer/{chain}/{tx_hash}
endpoint 1:1, at the same price: 0.5 credit per delivered check
(1 credit = 1 USDT of top-up).
Request
curl -X POST https://api.aegis-kyt.com/v2/check-transfer \
-H "Authorization: Bearer aeg_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{ "chain": "TRON", "tx_hash": "abc…64hex" }'
| Field | Type | Notes |
|---|---|---|
chain | string | ETH | BSC | POLYGON | BASE | ARBITRUM | TRON |
tx_hash | string | 0x-prefixed 32-byte hex, or TRON 64-hex |
Idempotency-Key: <token> to make retries safe.
Synchronous, with a 202 fallback
The check waits up to ~25s for completion:- 200 — completed; body carries
composite_result,policy_result, and abillingenvelope. Charged once. - 202 — still running; body is
{ check_id, retry_url }. Fetch the result from the freeGET /v2/transfer/{check_id}/result— you are billed once between the two calls. - 402 —
insufficient_funds/monthly_cap_exceeded. - 409 —
kyt_requires_subgroup: the key’s user has no organization / subgroup (KYT alerts + idempotency are tenant-scoped).
502 and is not
charged.
Poll
curl https://api.aegis-kyt.com/v2/transfer/<check_id>/result \
-H "Authorization: Bearer aeg_YOUR_KEY_HERE"
200 (verdict, charged once on first successful delivery), 202
(still running), 502 (failed — no charge), or 404 (unknown / not owned
by the caller).
See also
- POST /v2/check-address — single-address verdict
GET /check-transfer/{chain}/{tx_hash}— the x402 counterpart
Authorizations
Your aeg_… API key from the dashboard (Account → API tab).
Body
application/json
ETH | BSC | POLYGON | BASE | ARBITRUM | TRON | TON.
Required string length:
1 - 20Examples:
"TRON"
"ETH"
Transaction hash (0x-prefixed 32-byte hex, or TRON 64-hex).
Required string length:
1 - 80Example:
"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Response
Successful Response
The response is of type Response Check Transfer Check Transfer Post · object.

