CANARY / TRIPWIRE STATUS

← ops  ·  security  ·  public ledger

The arcade has tripwires. Inspired by Thinkst Canarytokens, every signature-server endpoint, decoy cabinet, and honeypot path emits a silent ping when touched. The attacker gets a normal-looking response; we get the forensic detail — IP, UA, address, fingerprint. Severity is decided server-side; webhooks fire to CANARY_WEBHOOK_URL.

What you're looking at: live counts of the last 24h of trips, the public decoy ledger (so legit researchers know what NOT to touch), and the threat model each wire is defending against. Read about canary tokens →

TRIPWIRE COUNTS · LAST 24h

Live data from /.netlify/functions/canary-ledger
CRITICAL
0
HIGH
0
MEDIUM
0
LOW / HEARTBEAT
0

PUBLIC DECOYS

Listed openly so security researchers can avoid them. Touching one = automation.
Loading…

HONEYPOT PATHS

Recon-bait. Every hit is logged with full request context.
/admin-v2RECON
/api/keysCRED-HUNT
/.git/configEXPOSURE
/get-signature-v1LEGACY-SCAN

RECENT TRIPS

Public IPs truncated to /24. Full data in private webhook stream.
No tripwires recorded.

THREAT MODEL

Why each wire exists.

FREE-SIG SCRAPING

Bots iterate through factory cabinet indices, requesting signatures for each. They expect either a sig or an error.

Decoy cabinets in the JS bundle. Request for one = trip. Honeypot sig returned (looks valid, on-chain rejects).

RECON / VERSION SCAN

Attackers GET /.git/config, /admin, /api/keys looking for misconfigured deploys.

Honeypot endpoints return plausible-but-fake content. Tarpit delay (800ms) increases attacker cost.

SANCTION EVASION

Sanctioned addresses (OFAC SDN) attempting to launder via the airdrop floor.

Server-side address screen. Hits get the honeypot sig + a critical-severity webhook fires.

RATE / FUZZ ABUSE

Distributed scrapers, jackpot-hunting bots burning signatures hoping for the 1% multiplier.

Per-(address, IP) sliding-window limiter. CSPRNG roll defeats Math.random prediction.

SIG REPLAY

Reusing a valid sig from one cabinet against another, or replaying it after the original tx.

EIP-712 domain-binds to verifyingContract. Per-claim nonce + 5-min expiry tracked on-chain.

LOG SUPPRESSION

Attacker hopes their trips are buried in noise, or knocks the function offline before logs flush.

Heartbeat event every orchestrator run. Webhooks bypass the log pipeline. HMAC on every payload.