Stablecoin Commerce Stack Challenge (Ignyte x Circle x Arc) — Track 1: Best Cross-Border Payments & Remittances Experience (UAE → Global) için MVP.
Çekirdek fikir: UAE'deki göçmen işçilerin hâlâ yoğun kullandığı hawala'nın en değerli iki özelliğini (alıcı için cüzdansız erişim + gizlilik) alıp, uyumlu ve şeffaf bir stablecoin altyapısına taşımak.
Mekanizma (commit-reveal voucher):
- Gönderici USDC'yi
VoucherVaultkontratına yatırır, bir secret code üretir, sadece hash'ini zincire yazar - Kodu WhatsApp/SMS ile alıcıya iletir
- Alıcı — cüzdanı olmasa bile — kodu redemption anında girerek (Circle Wallets ile embedded wallet oluşturarak) parayı çeker
MVP'de gerçek kodlanmış 3 mekanizma:
| Mekanizma | Nasıl çalışıyor |
|---|---|
| Kademeli KYC | lowThreshold (varsayılan 100 USDC) altı voucher'lar sadece secret-code ile redeem edilir; üstü, redeemer'ın verifiedAddresses allowlist'inde olmasını ister |
| Bölünebilir redemption | Voucher tek seferde değil, redeem(voucherId, secret, amount, agent) ile parça parça, remainingAmount sıfırlanana kadar çekilebilir |
| Ajan ağı | Redemption bir agent üzerinden yapılırsa, ajan agentCommissionBps (varsayılan %0.3) kazanır ve on-chain successfulRedemptions/totalVolume reputasyonu birikir |
Roadmap'te (henüz kodlanmadı): yedek alıcı / dead-man's switch, payroll entegrasyonu (toplu voucher oluşturma), ipucu tabanlı kod doğrulama (soru-cevap ile ek güvenlik).
IERC20.sol— USDC/EURC ile etkileşim arayüzüVoucherVault.sol— ana ürün, yukarıdaki 3 mekanizmaPaymentRouter.sol— şeffaf ücretli direkt P2P havale + "AED gir, USDC ile öde" merchant checkoutPayrollBatch.sol— toplu ödeme (tek tx'te N alıcıya)MarketplaceSplitter.sol— tek ödemeyi paylara göre N satıcıya böler
Deploy sırası (Remix, Arc Testnet):
VoucherVault— constructor:(usdcAddress)— öncelik buPaymentRouter— constructor:(usdcAddress, feeCollectorAddress)PayrollBatch— constructor:(usdcAddress)MarketplaceSplitter— constructor:(usdcAddress)
Bağımsız kontratlardır, birbirine referans vermezler — sırasız da deploy edilebilir, sıralama sadece takip kolaylığı için.
Arc Testnet token adresleri (ShieldFi projesinden):
- USDC:
0x3600...0000 - EURC:
0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a
Deploy öncesi USDC adresini tam olarak Arc dokümantasyonundan doğrula.
Next.js 14 (App Router) + TypeScript + Tailwind, npx create-next-app ile scaffold edildi.
Planlanan sayfa yapısı:
/remit— alıcı adresi + tutar gir, ücret önizlemesi göster, gönder/payroll— CSV/tablo ile alıcı listesi yükle, toplu onayla ve öde/marketplace— satıcı listesi + pay yüzdeleri gir, invoice settle et/merchant— AED tutarı gir → USDC karşılığı göster (mock/konsept FX oranı ile) → öde
- USDC — ana settlement rail (tüm kontratlarda)
- CCTP / Bridge Kit — cross-chain USDC transferi (ileri aşama)
- Circle Wallets — non-crypto-native kullanıcılar için embedded wallet UX (frontend entegrasyonu)
- Circle Gateway — treasury routing / operasyonel para hareketi
- StableFX (gated) — gerçek FX oranı; MVP'de mock oran kullanılacak, feedback bölümünde erişim talebi belirtilecek
- Kontratları Remix'te derle ve Arc Testnet'e deploy et (yukarıdaki sıra)
- Deploy edilen adresleri Arcscan'de verify et
- Frontend'de wallet connect (MetaMask / Circle Wallets) kur
- 4 tab'ı sırayla bağla: Remit → Merchant Gateway → Payroll → Marketplace
- Architecture diagram + video demo hazırla (submission gereksinimi)