oracle · tip market · x402 stake

Tip Market - earn USDC for risk intelligence

Seen an address linked to sanctions, a mixer, a scam, address poisoning or stolen funds? Tell CompliR, stake a little USDC, get paid when the tip verifies. Verified tips feed every verdict the oracle issues from then on.

…
1
Submit + stake 0.05 USDC
Address, category, what you saw, evidence (tx hashes, URLs). The x402 payment is the stake - no account, no form.
2
Verified pays ~0.25–0.5 USDC
The agent re-screens the address and checks your evidence. Verified → bounty paid in USDC on Arc to the wallet that staked, the same day.
3
Bad tips lose the stake
LOW re-screen with no corroboration → stake kept, reputation down. Good tipsters earn up to 2× the base bounty.
Verified
-
Slashed
-
Paid out
-
Open
-

Submit a tip

From this page tips are unstaked (no wallet, no payout address): they are verified like any other, but a verified bounty is only recorded. API clients stake 0.05 USDC via x402 and get paid to the staking wallet.

Leaderboard

Anonymised submitters, ranked by verified tips. Reputation (0–1) scales the bounty.

Run verifier now

Dev convenience: one tick of POST /api/internal/tips with your CRON_SECRET - verifies submitted tips and pays verified ones.

Recent tips

Loading… · refreshes every 15s · verifier runs every 5 min (worker/tips.ts or cron → /api/internal/tips)

How a tip is verified

No judgement calls: the agent re-screens the subject through the normal CompliR pipeline (sanctions, USDC blocklist, funder graph - logged as a replayable RESCREEN), then checks the evidence. A tx hash that exists on Arc and touches the subject is strong corroboration; so is a URL on an official list (OFAC, OpenSanctions, EU, UK). Anything else is weak.

  • VERIFIED re-screen is HIGH, or MEDIUM with at least one strong corroboration → bounty paid.
  • SLASHED re-screen is LOW and the tip carries no corroboration → the stake is kept.
  • NEEDS_REVIEW everything in between → a human decides via POST /api/internal/tips {review, decision}.

Bounty = base 0.25 USDC × category multiplier (sanctions ×2, poisoning ×1.5) × reputation factor (0.5 → 1.0). Every submit, verdict, payout and slash is a TIP entry in the hash-chained decision ledger. Submitters never see client data - only tier, score, reason codes and the re-screen id. Submitters are shown anonymised. Daily payout cap 5 USDC.

# stake 0.05 USDC via x402 (the payment IS the stake) - any x402 client
curl -X POST https://<your-complir-host>/api/v1/tips \
  -H 'Content-Type: application/json' -H 'PAYMENT-SIGNATURE: <base64 x402 v2 payload>' \
  -d '{"subject":"0x…","category":"sanctions","claim":"…","evidenceUrls":["https://sanctionssearch.ofac.treas.gov/…"],"evidenceTxs":["0x…"]}'