
Overzicht
Het probleem waartegen het is gebouwd
Ontwerpen in een vijandige context
- De interface is monospaced en typografisch, dichter bij een terminal dan bij een fintech-app. Dat is geen nostalgie. Cijfers in een proportioneel lettertype zijn moeilijker te vergelijken in één oogopslag, en dit is een scherm waar een verkeerd gelezen cijfer geld kost.
- Mechanieken worden benoemd, niet gepromoot. De infopagina begint met hoe graduation werkt en wat de eigenaar wel en niet kan, niet met rendementen. In een categorie die op hype draait, is de beperkingen beschrijven de pitch.
- Laadtoestanden zijn ontworpen, niet afwezig. Chain-data komt laat en in willekeurige volgorde binnen. Skeleton-kaarten en een expliciete "feed laden"-status bestaan zodat een traag blok nooit leest als een kapotte pagina of, erger, als een nulsaldo.
- De launch-flow is een formulier dat zichzelf uitlegt. Kiezen tussen bonding-curve-modus en instant-listing is de belangrijkste beslissing die een maker neemt, dus beide opties worden volledig beschreven op het moment van de keuze, niet in documentatie.
Wat de eigenaar niet kan
runner.owner() == timelock on-chain is geverifieerd.
Opschrijven wat je niet kan, is nuttiger dan opsommen wat je belooft niet te doen.
Architectuur
Gebruikte technologieën
- Contracten: Solidity 0.8.30 met Foundry, gecompileerd via-IR; unit-, fuzz- en invariant-testsuites.
- Frontend: Next.js met wagmi v2 en viem voor chain-interactie, TanStack Query voor data, lightweight-charts voor prijsgrafieken.
- Extra's: LiveKit voor live audio in de handelsruimtes, React Three Fiber voor visuele stukken, Supabase voor off-chain data.
- Infrastructuur: Netlify met Blobs voor de indexer-snapshot; een Safe achter een timelock-controller als eigenaar van de contracten.
- Operations: deployment-runbook, on-chain verificatiebundels en een script voor de solvabiliteitscheck.
