For judges

Everything verifiable about Viky in one screen. Nothing here is shown to funders or recipients.

Network

Chain
Monad mainnet, chain id 143
RPC
https://rpc.monad.xyz
AUSD
0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a
Gift contract
0x995Ab09d8B20511d057E9E87D00fa1f41fC0e233 (MonadVision, source verified through Sourcify) Nothing is claimed as working until the first gift has run end to end on mainnet; the record is in docs/spikes/KT1.md.
Earlier gift contract
0xE04CD59bB93765333200a9da01df83149D4C4d67 (MonadVision, source verified through Sourcify). It holds the gifts created before the day-counting corrections of DECISIONS.md D30 and keeps running them to the end. Gift ids never restart: the newer contract continues the sequence, and every gift record names the contract that holds it.

How progress is verified

Duolingo runs in public mode: once a day, Viky's keeper reads the recipient's public profile through an attested fetch (Reclaim zkFetch through Reclaim's TEE client). The attestor signs Duolingo's response; Viky verifies that signature, pins the attestor's address (the same one the on-chain Duolingo verifier pins) and checks the proof is about the right URL and username; the evidence signer then turns the signed reading into an EIP-712 check-in, and the contract credits or refuses it. What is not verified: the attestor's own TEE attestation, which zk-fetch 1.1.0 does not put in the proof. The person signs in to nothing and installs nothing; account ownership is proved once, either by the funder naming the account or by a short code the recipient places in their Duolingo display name.

Two accepted risks, written here on purpose: the profile endpoint is unofficial (the same risk class as a provider schema drift, watched by the same tests), and each attested read costs money on Reclaim's side (their public price starts at $0.10 per verification; one read per recipient per day, never per gift). Private sources keep the user-proof path through the Reclaim verifier app.

Your account on this device

Not signed in. Create or open an account on the home page, then follow its "For judges" link: the session lives in memory, so the address appears here only through that link, not after a reload.