Crypto AML API · REST · x402

One POST.
JSON in, verdict out.

Two REST endpoints screen an address or a transaction hash and hand back a 0–100 score with every contributing signal named — source, entity, category. Authenticate with a header, no SDK to install. Issue a key yourself in the dashboard, or skip the account entirely and pay per call over x402.

no card required · no subscription · pay per check

or check it in Telegram — @traqlcheckbot

Networks screened

BitcoinEthereumBNB Smart ChainTRONTON

// check an address — no signup

0 /100

3 free demo checks · no signup · or try the bot

// two endpoints

Address in, or a hash in.

Base URL is https://api.traql.io. Every call carries your key in an X-API-Key header and gets back the same JSON shape, whether it's an address or a transaction. The interactive reference at api.traql.io/docs lets you fire a real call from the browser before you write a line of code.

CHECK AN ADDRESS

Score a single address

Chain and address in, verdict out — direct label matches plus one hop of traced counterparty exposure.

# with a key — full verdict with itemized reasons
curl -s https://api.traql.io/v1/check/address \
  -H "X-API-Key: traql_..." \
  -d '{"chain":"ethereum","address":"0x8589…DA16"}'

CHECK A TRANSACTION

Score a transaction hash

Pass a hash and traql fetches the transaction, decodes the token transfers inside it, and screens both sides. Or pass from and to to screen a transfer before you broadcast it.

# traql pulls the tx, decodes the transfers inside it,
# and screens both sides of the largest one
curl -s https://api.traql.io/v1/screen/transaction \
  -H "X-API-Key: traql_..." \
  -d '{"chain":"ethereum","tx_hash":"0xf35b…7c2a"}'

// the response

{
  "result": {
    "score": 94,
    "band": "critical",
    "flags": ["sanctions", "mixer"],
    "reasons": [
      { "source": "ofac_sdn",
        "entity": "Tornado Cash",
        "category": "sanctions", … }
    ]
  }
}

score, band and flags summarise the verdict; each entry in reasons names the source that matched, the entity behind it and its category — the full response also carries a severity and a confidence per reason.

ALSO AVAILABLE

Using an AI agent? traql ships as an MCP server too

npx -y @traql/mcp gives Claude Code, Claude Desktop, Cursor or any other MCP client the same two endpoints as direct tool calls — check_address and screen_transaction — so an agent can screen a counterparty before it acts, not just report on one after the fact.

// keys and balance

Keys you issue yourself.

Self-serve, from the dashboard

No request form, no waiting on anyone. Sign in, open API keys and generate one — it's ready to use immediately.

Shown once

The secret is displayed a single time, at creation. traql doesn't keep a copy to show you again — store it then, or generate a new one.

One balance, not two

Keys spend the same balance as the web checker. Top up once and use it from either — nothing separate to track.

Plain REST, no SDK

Two JSON endpoints and an X-API-Key header — any language that can POST JSON is already set up.

Rotate or revoke a key at any time from the same screen — a revoked key stops working immediately, and the balance it drew from stays yours.

// keyless

Pay per call, skip the account.

PAY-AS-YOU-GO · NO ACCOUNT

$0.50/ address check

$1.00/ transaction check

USDC on Base · x402

Built for agents, not humans

Call either endpoint with no key at all and traql answers with a 402 and an x402 payment challenge. Settle it in USDC on Base and the same call, retried, comes back with a verdict — no signup, no human clicking a button in between.

  • No account, no API key — just a funded wallet
  • Settles on-chain per call, nothing to top up
  • Summary verdict instead of itemized reasons
  • Costs more per check than any pack — that's the trade for skipping the account
Open the API docs

// pricing

Packs, or pay as you go.

No subscriptions, no seats. A pack tops up your account balance, and API keys spend from the same balance as the web checker. Checks never expire, and the bigger the pack, the less each one costs.

FREE

$0

3 checks to start

  • Full verdict with reasons
  • All 5 networks
  • Just verify your email

10 CHECKS

$4.50

$0.45 / check

  • Web checker + API
  • Paid in crypto

200 CHECKS

$56

$0.28 / check

SAVE 38%

  • Web checker + API
  • Paid in crypto

500 CHECKS

$115

$0.23 / check

SAVE 49%

  • Web checker + API
  • Paid in crypto

1 000 CHECKS

$200

$0.20 / check

SAVE 56%

  • Web checker + API
  • Paid in crypto
Create an account already have one? sign in

// faq

Questions, answered.

How do I get an API key?

Create an account, verify your email and issue a key yourself in the dashboard, under API keys. The secret is shown once at creation — store it then, because traql doesn't keep a copy to show you again. You can rotate or revoke a key at any time from the same screen.

How much does a call cost?

With an account, a call spends one check from your balance — 3 checks are free on signup, and packs bring the price down to $0.20 per check at volume. Without an account, you can pay per call in USDC over x402: $0.50 for an address check, $1.00 for a transaction check.

Is there an SDK?

No. There are two REST endpoints — check an address, check a transaction — authenticated with a plain X-API-Key header. If your language can send a JSON POST and read a JSON response, you don't need a client library.

Do API keys and the web checker share the same balance?

Yes. Your account holds one balance of checks, and it doesn't matter whether you spend it in the browser or through an API key — there's nothing separate to top up.

What is x402, and when do I need it?

x402 is a way to pay per call in USDC on Base without an account or an API key — useful for an autonomous agent that has a funded wallet but no human to sign up. Call the endpoint with no key, get back a 402 with a payment challenge, settle it, and the verdict comes back on the retry. The response is a summary verdict rather than the full itemised reasons, and it costs more per check than any pack — that's the trade for skipping the account.

Which networks are supported?

Bitcoin, Ethereum, BNB Smart Chain, TRON and TON. Scoring is chain-scoped: the same address string is assessed independently on each network you check it on.

What does the response contain?

A score from 0 to 100, a risk band, a list of flags, and a reasons array — each reason names its source, the entity behind it and its category. The full response also carries severity and confidence per reason. The interactive reference at api.traql.io/docs has the complete schema and lets you try a call from the browser.

Wire it into your flow —
one call, one verdict.

no card · verdict in seconds · sign in