🔧 Prodotti e tecnologia
Ciò che funziona dimostra tutto.
La maggior parte dei whitepaper di token descrive software che non esiste ancora. Questo capitolo descrive software che puoi scaricare oggi. Tre app iOS native sono pubblicate e live sull'App Store, la piattaforma web è in produzione, e i servizi token su Solana mintano già NFT reali e verificano pagamenti reali su mainnet. I due smart contract che governeranno l'economia di lungo termine del token sono code-complete e in un audit a fasi — e diciamo esattamente questo, non di più.
La suite a colpo d'occhio
Ogni client — iOS o web — parla con un unico backend Django, e solo il backend parla con Solana. Le app non toccano mai la chain direttamente: la regola è sempre app → Django → Solana.
⛩️ Matsuri — l'app consumer
L'app principale per ospiti e residenti: prenotazioni, pagamenti, shopping, crowdfunding, live stream, mining e una lifeline completa offline per i disastri — in un unico posto, amichevole con la modalità ospite.
L'app è organizzata intorno a cinque tab — Eventi, Shop, Ristoranti, Crowdfunding, MyPage — con live stream, ricerca, wallet, NFT e l'hub disastri raggiungibili da ovunque. Ogni superficie ha il proprio capitolo; questa tabella è solo la mappa.
| Superficie | In una riga |
|---|---|
| Eventi ed esperienze | Prenota tour, eventi, meetup e corsi; biglietti QR e check-in dello staff — Esperienze |
| Ristoranti | Scoperta con filtri per esigenze alimentari più un vero motore di prenotazione tavoli — Ristoranti |
| Shop | Marketplace di venditori verificati KYC con ordini in escrow e prodotti NFT — Shop |
| Crowdfunding | Campagne All-or-Nothing con cashback MTC per tier — Crowdfunding |
| Live | Stream con chat, drop e mance su cinque canali — Live |
| Mining, wallet e NFT | 参拝マイニング (sanpai mining — worship mining), omikuji in AR, wallet MTC, galleria NFT — Mining |
| Disaster Lifeline | Mappe dei rifugi offline, messaggistica mesh, beacon SOS — Disaster Lifeline |
| Pagamenti | Stripe (carte, Apple Pay), Solana Pay / Phantom, saldo MTC — prezzi sempre ricalcolati lato server |
Oltre alle funzionalità, l'app si appoggia a fondo sulla piattaforma iOS: widget per la schermata home, App Intents di Siri, indicizzazione Spotlight, Live Activities per ordini, pegni e live stream, e notifiche push localizzate lato server per utente.
La Disaster Lifeline sotto il cofano
Il capitolo Disaster Lifeline copre cosa fa; qui c'è il perché funziona quando tutto il resto fallisce. Il vincolo di design è brutale e semplice: ogni strumento lifeline deve funzionare completamente offline e senza login.
Il dataset nazionale dei rifugi di evacuazione è incluso nel binario dell'app — la mappa dei rifugi, la lista per distanza e la Shelter Compass ortodromica non richiedono rete. Le guide di sicurezza in 5 lingue sono incluse allo stesso modo.
Quando le reti cellulari muoiono, i telefoni diventano la rete: una bacheca mesh peer-to-peer offline inoltra i post di dispositivo in dispositivo con relay multi-hop, e ogni messaggio è firmato crittograficamente dal dispositivo di origine — così un post che ha viaggiato per cinque hop non può essere falsificato lungo la strada.
Un servizio DisasterWatchdog interroga i feed pubblici della JMA (Japan Meteorological Agency) al lancio e al ritorno in primo piano; un evento grave presenta automaticamente il Disaster Hub a schermo intero — per ospiti e utenti loggati allo stesso modo.
«Sto bene» parte su qualsiasi canale sopravviva: mesh, SMS, il foglio di condivisione di sistema, o web171 — la bacheca messaggi ufficiale giapponese per i disastri.
🛡️ GCF Admin — l'app degli operatori
L'app operativa per i membri e lo staff di GCF (Global Community Friends): tutto ciò che può fare il portale web di amministrazione (gcf.works), su un telefono.
| Superficie | In una riga |
|---|---|
| Dashboard | Card KPI, grafici dei ricavi, azioni rapide |
| Membri | Lista membri, dettaglio e gestione dei tier — GCF |
| Ricavi | Monitoraggio delle commissioni e gestione dei pagamenti |
| Contenuti | Creare e pubblicare eventi, articoli, podcast e video |
| Guide slot | Pubblicare e monitorare il marketplace delle guide — Esperienze |
| Luoghi sacri e beacon | Gestione dei siti e configurazione degli Sponsored Beacon — Mining |
| Configurazione del mining | Probabilità degli omikuji in basis point, moltiplicatori dinamici regolati in tempo reale — Mining |
| Referral | Generazione di codici QR brandizzati e tracciamento dei referral |
Questa app è dove viene governata l'economia del mining: i moltiplicatori dinamici (0.01×–50×) che spingono i visitatori verso le regioni spopolate, le tabelle di probabilità degli omikuji e gli Sponsored Beacon che municipalità e commercianti finanziano — tutto è operato da qui, non hard-coded.
📰 J-Times — l'app dei media
«日本を、世界へ / Japan, to the World.» L'app dei media culturali: articoli, podcast e video — dove la lettura stessa fa guadagnare MTC.
| Superficie | In una riga |
|---|---|
| Articoli | Lettore ricco con progressi di lettura; lo stack di redazione include generazione AI degli articoli e TTS — Media |
| Podcast | 6 serie, tra cui Japan Decoded e Tech Japan Forward |
| Video | Serie più video in formato breve |
| Media mining | Leggere, ascoltare, guardare e i quiz pagano MTC — limite giornaliero 50 MTC — Media |
| Piani | Tier lettori Free / Premium / Pro; contenuti premium venduti una tantum via Stripe |
L'engagement è tracciato nei progressi per utente per contenuto, con tassi di ricompensa regolabili dagli admin, un cooldown di 5 minuti tra le ricompense e il limite giornaliero di 50 MTC — un mining che ricompensa l'attenzione senza diventare un rubinetto.
📦 Un nucleo condiviso: JCCore
Tutte e tre le app sono costruite su JCCore, un package Swift condiviso — un'unica implementazione dell'impiantistica rischiosa invece di tre copie che divergono.
| Modulo | Ruolo |
|---|---|
| JCAuth | Archiviazione dei token basata su Keychain, gestione delle sessioni, autenticazione biometrica (Face ID / Touch ID) |
| JCNetworking | Client API type-safe, supporto WebSocket, conversione automatica snake_case sul wire |
| JCModels | Modelli dati condivisi — utenti, token, paginazione, piani di membership |
| JCDesign | Protocollo dei temi e design token (spaziatura, raggi) |
| JCUtilities | Utility per date e stringhe |
Una conseguenza che gli utenti percepiscono: la scala canonica di membership a 4 tier (Livelli e tier) significa la stessa cosa in ogni app, perché è decodificata dallo stesso codice.
🖥️ La piattaforma backend
Il backend è un unico monolite Django che gestisce l'intera economia — prenotazioni, escrow, registri del crowdfunding, live stream, mining, e ogni yen e ogni MTC che si muove.
- Framework
- Django 4.2 + Django REST Framework
- Lavoro asincrono
- Code di task Celery per i job in background
- Realtime
- WebSocket Django Channels — chat, interazioni live, presenza
- Database
- PostgreSQL
- Video live
- LiveKit, self-hosted su Hetzner — nessuna dipendenza da streaming di terze parti
- Canali fiat
- Stripe per carte e Apple Pay; Stripe Connect per l'onboarding dei venditori e i pagamenti
- Sicurezza dei pagamenti
- Chiavi di idempotenza richieste su ogni chiamata di pagamento che modifica stato
- Prezzi
- I prezzi sono sempre ricalcolati lato server — un client non può mai dichiarare il proprio prezzo
- Accesso alla chain
- app → Django → Solana, senza eccezioni
Il flusso di pagamento crypto mostra la regola di architettura in pratica. L'app non costruisce né verifica mai una transazione Solana da sola — consegna l'utente a Phantom e consegna la prova a Django.
Se l'utente viene interrotto a metà pagamento — una chiamata, una batteria scarica, una caduta di rete — l'app riprende il pagamento Phantom in sospeso al lancio successivo, e le chiavi di idempotenza garantiscono che la prenotazione sia regolata esattamente una volta.
🔏 Servizi token — minting su richiesta
Uno stack dedicato a tre livelli (live su mainnet) gestisce tutto ciò che tocca davvero Solana:
- API di minting (Django + DRF + Celery) — endpoint autenticati con API key che le piattaforme Matsuri, GCF e J-Times chiamano per l'emissione automatica di NFT/SBT, le operazioni sui token e la gestione dei metadati on-chain.
- Signer Solana (Node.js + Fastify) — l'unico servizio che detiene la capacità di firma: creazione e trasferimento di token SPL, revoca delle authority, aggiornamento dei metadati, minting di SBT e gestione delle Metaplex Core Collection, con tolleranza retry/backoff per il ritardo degli indexer.
- Dashboard admin (Next.js) — gestione di coin e metadati: upload su Arweave per l'hosting permanente dei metadati, informazioni sui creator e flag di verifica.
Questo è lo stack che minta gli asset reali della piattaforma: i drop NFT per la partecipazione agli eventi, gli NFT omikuji dei 御朱印 (goshuin — sigillo del tempio) e i certificati SBT GCF Platinum — tutti asset Metaplex Core raggruppati in collection così che wallet come Phantom li mostrino correttamente, tutti verificabili su Solscan.
🔐 Sicurezza e privacy
I token di autenticazione vivono cifrati nel Keychain di iOS; Face ID / Touch ID protegge le azioni sensibili.
HTTPS ovunque con certificate pinning tra le app e il backend.
La piattaforma non detiene mai la chiave privata di un utente. La firma è delegata a Phantom — l'app passa una richiesta, il wallet firma, il backend verifica on-chain.
Collegare un wallet a un account richiede la firma di una challenge fresca emessa dal server, così una firma catturata non può essere riutilizzata per rivendicare il wallet di qualcun altro.
I check-in del worship mining applicano un geofence di 200 m, controlli di precisione GPS e prossimità, e un check-in per utente per sito al giorno — i bot che si teletrasportano non guadagnano nulla.
I saldi MTC vivono in un registro auditato append-only; i prelievi verso la self-custody passano limiti, cooldown e screening antifrode.
✅ Qualità ingegneristica
I contratti Rust si impongono un'asticella più severa delle app: zero warning di clippy, zero unwrap o panic nel codice di produzione, e property-based test accanto agli unit test — perché il codice dei contratti, una volta deployato, non può rilasciare una patch di martedì.
⚖️ Smart contract — design open source
On-chain oggi: il token SPL MTC (900M fissi, mint e freeze authority revocate), il lockup Streamflow di 550M MTC (cliff 2027-06-01), l'LP iniziale Raydium MTC/SOL, e la verifica dei pagamenti Solana Pay / Phantom nelle app di produzione. Nient'altro.
I programmi qui sotto sono code-complete e NON deployati su alcun cluster. La sicurezza procede come audit a fasi con Hashlock (avviato ad aprile 2026, TEAMZ Summit Tokyo): la Fase 1 copre matsuri-buyback — pacchetto di sottomissione completo, kickoff previsto per agosto 2026, findings a settembre, report finale a ottobre, deploy su mainnet previsto per ott–dic 2026 dopo il listing sul DEX. La Fase 1.5 copre matsuri-vesting più matsuri-distribution nel Q1 2027, andando live al Grand Unlock del 2027-06-01. Non descriviamo nulla di tutto questo come «auditato» — la preparazione all'audit è completa e l'audit a fasi è in corso.
Tutto il codice dei contratti è open source: github.com/Cootakahashi/matsuri-contracts. La sicurezza poggia su un design visibile, non sull'oscurità. L'architettura di destinazione:
matsuri-buyback — l'ingresso dei ricavi
Il programma che trasforma gli impegni di buyback — il 20% delle vendite Matsuri HQ e il 25% delle quote di iscrizione GCF — in domanda on-chain di MTC. La sua proprietà distintiva: è un nastro trasportatore, non una tesoreria.
- Ruolo
- Swap-e-inoltro atomico dei ricavi in MTC — accetta token in whitelist, scambia, inoltra
- Rotta di swap
- Jupiter v6 via CPI, con un program id Jupiter fissato e immutabile
- Token accettati
- MTC, USDC, SOL al lancio — whitelist gestita dall'authority
- Difesa dallo slippage
- Tre strati: bps a runtime entro un tetto immutabile fissato all'init entro un tetto rigido a compile-time del 10%
- Timelock
- I cambi di destinatario e authority sono flussi propose/execute/cancel, delimitati tra 24 ore e 30 giorni
- Non detiene mai saldo
- Una post-condizione a saldo zero è imposta dopo ogni swap — non c'è nulla da rubare tra una transazione e l'altra
- Dimensione e test
- 1,797 LOC, 17 test (13 unit + 4 property)
- Stato
- Code-complete, obiettivo dell'audit Hashlock Fase 1 — NON deployato
Nella Fase 1 il destinatario dell'inoltro è un multisig Squads; nella Fase 2 diventa un Buyback Splitter che smista i ricavi verso l'iniezione nell'LP e i pool dell'ecosistema.
matsuri-vesting — un vault, un destinatario, un orologio
Il programma che esegue il calendario del Grand Unlock. È deliberatamente noioso: niente miner, niente scoring, niente claim — solo aritmetica su un orologio.
- Design
- Un vault, un destinatario protetto da timelock, un orologio
- Pool
- 550M MTC, in arrivo dal cliff Streamflow il 2027-06-01
- Epoche
- Epoche di 730 giorni (2 anni); ciascuna rilascia il 50% del pool rimanente
- Percorso di rilascio
- advance_epoch_and_release è una manovella permissionless — chiunque può attivare un rilascio dovuto
- Immutabilità
- Il fattore di halving, la durata dell'epoca e il pool totale si bloccano all'initialize e non possono mai essere cambiati
- Dimensione e test
- 1,629 LOC, 26 test (22 unit + 4 property)
- Stato
- Code-complete, obiettivo dell'audit Fase 1.5 (Q1 2027) — NON deployato
Riferimenti di design della Fase 2
Tre ulteriori programmi esistono come riferimenti di design aperti — pubblicati per trasparenza, esplicitamente marcati come non-per-il-deployment, e destinati all'hardening in fasi di audit successive:
| Programma | Intento di design |
|---|---|
| matsuri-worship | Il motore di routing del worship — la controparte on-chain dei moltiplicatori anti-overtourism in Mining |
| matsuri-referral | Alberi referral del 縁 (en — legami) per l'En-Mining — Mining |
| matsuri-distribution | Distribuzione con halving e scoring per singolo miner — in rifinitura verso il perimetro di audit della Fase 1.5 |
Un Distribution Router di Fase 2 (smistamento del vesting verso i pool worship, referral e generale) e il Buyback Splitter sono solo in fase di design. Finché ogni programma non supera la propria fase di audit, la logica corrispondente gira off-chain in Django come oracle — le stesse regole, promosse a esecuzione trustless per fasi.
Principi di design condivisi
- Aritmetica controllata ovunque — nessuna matematica non verificata, e zero unwrap o panic nei percorsi di codice di produzione.
- Moduli matematici puri — il calcolo delle ricompense e dei rilasci è isolato in moduli
mathprivi di side effect e testati esaustivamente. - Separazione dei poteri — l'authority può proporre modifiche solo attraverso timelock delimitati; la pausa ferma il programma ma non può mai muovere o sequestrare fondi.
- Economia immutabile — i parametri che definiscono la scarsità del token si bloccano all'inizializzazione, di proposito.
Le app sono spedite. Il backend è live. I contratti sono scritti, testati e in coda per l'audit. Ciò che resta è la sequenza — e la Roadmap la espone data per data.