A host opens an attendance window with a deadline. Attendees call in. The list closes at the deadline. Cheaper than a POAP, readable by any contract.
No late entries, ever. The contract checks block.timestamp — not a server clock, not a signature. Physics, not policy.
Lighter than a POAP. No secondary market, no gas for mint, no NFT contract to maintain. Just a mapping.
getAttendees() and attended() are public. Build allowlists, voting gates, or anything that needs proof of presence.
Set a name, description, and deadline. Optionally cap attendance.
Any wallet clicks Call In before the window closes.
First in, first listed. The chain is the record.
After the deadline, the mapping is frozen. No edits, no disputes.