LivLive
$2M+ raised through the product, 1,000+ concurrent users, from zero in 6 weeks.
LivLive brings the Pokémon GO experience to everyday life with RWAs, the only RWA platform with a global, immersive AR reward engine. $2M+ raised through the product.
Overview
LivLive brings the Pokémon GO experience to everyday life with RWAs, the only RWA platform with a global, immersive AR reward engine. $2M+ raised through the product.
What's the challenge?
Zero codebase, zero infrastructure, six weeks. Scope: a multi-level on-chain referral system, fiat-to-chain NFT drops via Wert.io, crypto payments via NOWPayments, a full DApp checkout, and the observability to run real money through it.
Drop-based marketing meant the checkout had to absorb spikes, not flatten under them.
LivLive's go-to-market was drop-based. When a drop went live, the checkout saw hours-long traffic peaks against a flat baseline, and a normal checkout dies in that pattern. We benchmarked the custom flow at 1,000+ concurrent users with zero degradation, then ran the same load against the on-chain referral payouts so commission distribution didn't stutter at the spike. Extreme time pressure throughout.
What We Did
Constraint: production-grade Web3 commerce, hard timeline, real money about to flow through it. The non-obvious call: dual fiat/crypto rails through one signed-webhook handler, with Cloud KMS holding the only key that signs mints and referral payouts. Concretely: multi-level on-chain referral contracts, Wert.io fiat rail, NOWPayments crypto rail, full checkout DApp, NestJS backend. Trade-off: more infra surface than a single rail. What it bought: a checkout that mints the NFT and distributes the multi-level commission in the same transaction, and which went on to raise $2M+ through the product.
Outcomes



Production architecture
The diagram illustrates a simplified high-level architecture and omits confidential implementation and security details.
Checkout, fiat & crypto rails
sequenceDiagram
autonumber
participant U as User
participant FE as Next.js DApp
participant API as NestJS API
participant W as Wert.io
participant NP as NOWPayments
participant KMS as Cloud KMS
participant SC as LivLive Contracts
U->>FE: select item · checkout
FE->>API: POST /orders (pending)
API-->>FE: orderId
alt Fiat rail (card)
FE->>W: open widget · pay
W-->>API: signed IPN webhook
else Crypto rail (USDT/USDC/…)
FE->>NP: open widget · pay
NP-->>API: signed IPN webhook
end
API->>API: verify signature
API->>KMS: sign mint + payout tx
KMS-->>API: signed tx
API->>SC: LivLiveNFT.mint(to=user)
API->>SC: LivLiveRevenue.distributeCommissions(refs)
SC-->>API: emit events · tx hash
FE->>API: poll order status
API-->>FE: completed · tokenId
What We Learned
Under extreme time pressure, scope ruthlessness is the only path. We focused on what had to work perfectly, the on-chain referral logic and payment flows, and deferred the rest. The security audit confirmed cutting quality was never the trade we made.
Want outcomes like this?
Tell us what you're building. We'll tell you whether we're the right team for it.
Book a call