← All work

Tokenised Commerce · CTPO / Founder

CAFE

Shopify + Visa for Telegram — a tokenised commerce platform where luxury brands launch drops, sell NFT-backed goods and settle in stablecoins across two blockchains.

Role

CTPO / Founder

Chains

TON (payments) · Tempo (settlement)

Contracts

8 Tact · 10 Solidity

Surface

Mini App · Bot · Admin · API

CAFE Mini App marketplace TEP-62 NFTs · Burn-to-Claim · Machine Payments Cafe

A drop sells inside Telegram, mints as an NFT, and is burned to claim the physical good — while the brand gets paid in stablecoins on a different chain entirely.

Context

Luxury partners — fine art, fashion, horology, hospitality — want branded drops where provenance is real and settlement is clean. CAFE puts the whole loop inside Telegram: browse a marketplace Mini App, buy a TEP-62 NFT as proof of ownership, burn it on-chain to redeem, and let the partner settle in USDC/USDT.

What I built

  • Four drop types — open sale, allowlist, commit-reveal lottery, and private — behind a single eligibility engine.
  • A burn-to-claim redemption flow with on-chain double-spend prevention, QR redemption and ship/collect dispatch.
  • A dual-chain settlement engine bridging TON payments to Tempo stablecoin payouts with reconciliation.
  • A Machine Payments Protocol gateway (HTTP 402) for AI-agent commerce, built in from day one.
  • A multi-tenant admin dashboard, a Telegram bot for lifecycle notifications, and a partner SDK with signed webhooks.

How it's built

A Turborepo monorepo of seven workspaces. On TON, eight Tact contracts (NFT item and collection, a collection factory, a payment processor, a burn-to-claim registry, soulbound variants) handle fast payments and minting. On Tempo, ten Solidity contracts (an MPP gateway, per-merchant wallets from a factory, a settlement pool and escrow, a bridge receiver) handle merchant settlement — chosen because TON is fast for buyers and Tempo is right for stablecoin payouts.

A Fastify backend exposes 30+ routes over Prisma/PostgreSQL, with twelve BullMQ workers doing the async work: scanning payments idempotently, processing burns, running the settlement bridge, drawing lotteries, minting. The buyer surface is a React/Vite Mini App with TonConnect; the operator surface is a Next.js dashboard. Row-level security keeps every partner inside their own tenant.

Outcome

A full tokenised-commerce stack — contracts, settlement, storefront and agent-commerce gateway — with double-spend-safe redemption and clean cross-chain payouts.

TON / TactTempo / SolidityFoundryNext.jsReact / ViteFastifyPrisma / PostgreSQLRedis / BullMQTonConnectgrammY

Core feature

Rebuilt in CAFE's own UI

The Mini App browse surface — luxury drop cards showing TON price with live USD, a remaining-supply bar, drop-type and status badges, and a Telegram-blue Claim / Enter Lottery action, all settled on TON with burn-to-claim redemption.

Marketplace drop cards

CAFE
mini app

Hey, Mitch

@mmclennan

EQA•4f2c
TON $5.42 ↑
All Public Allowlist Lottery

7 drops found

Public Live
Maison Artisan
Heritage Series 2025
18.50 TON
≈ $100.27
34 / 100 remaining34%
Claim
Lottery Upcoming
Atelier Nord
Genesis Vault · Ed. 01
42.00 TON
≈ $227.64
12 / 250 remaining5%
Enter Lottery
Settled on TON · burn-to-claim redemption
Marketplace
Explore
Wallet