AeroGuard · flight-delay coverBase Sepolia · 10 · 2026

Your flight is late.
You're already paid.

→ TUM Blockchain & AI · API3 + Cardano

An autonomous keeper sells the cover and settles it. The contract pays only on AeroDataBox data signed by its API3 Airnode: right flight, right date, fresh, final, never reused. Don't trust us. Verify a signed response yourself, right here in your browser.

01 · PROVEProve it hasn't leftA fresh signed status shows the flight is still pre-departure. The contract reads the schedule from the signature.
02 · RESOLVEPay per callThe keeper pays AirnodeHub over x402 (0.05 aUSD) for signed flight data. No API keys.
03 · COVEROpen the policyPolicy opens on Base Sepolia. The contract derives the request hashes from flight + date itself.
04 · WATCHKeeper wakes upAfter landing, the keeper buys signed arrival data. No human in the loop.
05 · PAYContract decidesSigner, request, freshness, finality and replay checks pass → 50% or 100% paid out.
–policies on-chain
–active, being watched
–aUSD paid out
–aUSD free in the pool
01 · SECURITY INSPECTOR

Would the contract pay on this evidence?

Paste a signed AirnodeHub response, load one from the keeper, or start with the demo. Every check the contract runs is re-run here in your browser: keccak256 and secp256k1 signer recovery, no server involved. Then edit one byte of data and watch it fail.

Evidence

No response loaded
Try an attack in the browser:
Block time now
Raw JSON: paste or copy the whole signed response

Contract verdict · computed locally

-
Load a signed response
Start with the demo fixture, or paste your own JSON.
    Status–
    Scheduled (UTC)–
    Actual (UTC)–
    Delay–
    0 min · no payout120 · 50%180+ / cancelled · 100%
    Show the maths
    02 · TAMPER LAB

    Attack the deployed contract

    Try to cheat the real contract on Base Sepolia. Each attack is sent to settle() as a simulation (eth_call): the deployed code really runs, nothing is written, no wallet needed. Green = the contract blocked it.

    Four forgeries against the live contract, on a real policy. No wallet, nothing written.

    QR code to this tamper lab: womp-maindev.github.io/aeroguard/#labTry it on your phone
    Everything above is an eth_call: a simulation, nothing is written. To send an attack as a real transaction, use your wallet just below (or cd keeper && npm run tamper -- --policy N).
    03 · GET COVERED

    Cover a flight

    The keeper buys the signed schedule, quotes the premium (8% of cover) and opens the policy on-chain. Cover must be bought before the outcome is known.

    Every live policy was bought like this

    1. Signed schedule. The keeper pays 0.05 aUSD over x402 and gets the AeroDataBox status, signed by the Airnode, ≤ 15 min old.
    2. Contract checks it. buyPolicy verifies signer, request hash and freshness, accepts only a pre-departure status, and reads the scheduled arrival from the signature.
    3. Premium in, cover reserved. 8% premium to the pool, coverage locked until settlement.

    Cover a delayed flight

    Find a flight that is already ≥ 2 h late but hasn't left yet (arrival ≥ 2 h away), check it on Flightradar, then buy from the keeper folder.

    Flightradar ↗

    Buying needs the keeper's wallet, so it runs locally. Everything else on this page reads Base Sepolia directly.

    Keeper log

    –
    Loading the keeper's run log…
    GitHub Actions runs the keeper every ~15 min.All runs in Actions ↗
    04 · POLICIES

    Live from Base Sepolia

    Read straight from the contract with eth_call, from your browser, every 20 s. Click Inspect to check a policy's evidence against its on-chain request hashes.

    Contract on Basescan ↗
    #FlightDateSched. arrivalCoverPremiumStatusHolderTxsActions
    Reading Base Sepolia…
    05 · CARDANO · PAY PER VERDICT

    Agents buy the verdict over x402 on Cardano

    The same signed evidence, sold per request: GET /verdict answers 402, the agent pays 2 tADA on Cardano preprod, and gets back the verdict plus the Airnode's signature. Open that answer in the inspector and check it yourself.

    –
    Paste a paid answer: the JSON that npm run buy prints
    06 · VIDEOS

    Watch it in two minutes

    The submission video, then one per track, all from real runs. Play them here, open them full screen for the pitch, or copy the link to paste anywhere.

    Overview · both tracks · 2:25, submission video

    Open full screen ↗ Download https://womp-maindev.github.io/aeroguard/media/demo.mp4

    API3 track: signed data the contract depends on · 2:15, voiced

    The keeper buys AeroDataBox data signed by the Airnode over x402, buys and settles policies on Base Sepolia, and every forgery is rejected.

    Open full screen ↗ Download https://womp-maindev.github.io/aeroguard/media/api3.mp4

    Cardano track: agents pay per request · 2:20, voiced

    An agent pays 2 tADA over x402 on Cardano preprod and gets the Airnode-signed verdict. An Aiken contract checks the same signature.

    Open full screen ↗ Download https://womp-maindev.github.io/aeroguard/media/cardano.mp4