Building the sovereign tech stack for the open internet
WoCo is event ticketing built on Arbitrum and Swarm. Organisers create events, sell tickets by card and publish their own sites, with no database and no lock-in: content lives on Swarm in feeds the organiser owns, and every ticket is minted on our Arbitrum ticket ledger and checked against it at the door. Accounts are passkey smart accounts (ZeroDev Kernel) on Arbitrum One, each with a woco.eth name, and attendee order data is sealed so only the organiser can read it. woco.eth names resolve from Ethereum mainnet through our L1Resolver (0xD9357945E2fc3bA586Cbc1Cdc2f79f0E512cFfD7). The ticket ledger is deployed on Arbitrum One and the app switches to it at launch; until then it sells test tickets on the same ledger on Arbitrum Sepolia (0x6B9b93eFe44Ee729BC68158F5F59B4F7aA082972).
215 commits and 117 merged PRs (#570-#771) in WoCo-Event-App, plus contract work in WoCo-Contracts.
- Onchain ticket ledger: WoCoTicketLedger deployed to Arbitrum Sepolia (24 Sep) and Arbitrum One (25 Sep). Owner-authorised ticket transfers (including gasless signed transfers), an hourly sponsor mint cap the server checks before taking a card payment, and every event registration pinned to the contract it was made on.
- Refunds, cancellations and disputes: refunded or charged-back tickets are refused at the door, organisers can cancel an event and refund every buyer, and payouts wait until refunds settle.
- Door check-in: each ticket is admitted once across every scanner, with an offline single-device mode.
- woco.eth names v2.2 on Arbitrum One: holder-signed pointers, so the platform holds no key that can repoint a user's name, and separate sponsor keys. L1Resolver v2 went live on Ethereum mainnet after audit fixes, resolving names from Arbitrum via CCIP-Read with chain-bound signed answers.
- Passkey accounts: ZeroDev Kernel smart accounts on Arbitrum One where every passkey is an equal co-owner, devices can be added or removed from any device or linked by code, and our own server decides which operations get gas sponsorship.
- Privacy: attendee orders and organiser contact lists are sealed with X-Wing hybrid encryption so only the organiser can read them, and stored attendee data can be erased per order.
- Tickets: a static ticket page on Swarm keeps the ticket in the URL fragment, so its signature never reaches a server.
- Storage: user content moved to feeds the user owns on Swarm (via Etherna).
- Organiser experience: one app for attendees and organisers, a dashboard that opens on the next step, and embed checkout that holds seats with a countdown.
Direction change since our earlier build: likes and follows left the chain (the EAS rail and Stylus aggregator were removed) and are now signed statements in each user's own Swarm feed. Arbitrum is kept for what needs a single shared answer: ticket ownership and names.