Orang Indonesia Bikin Platform Cyber Insurance untuk Perusahaan Asuransi Terbesar Australia — Ini Arsitekturnya

Di balik layar platform operasional exchange crypto: bagaimana sistem menghandle 500+ aset digital, memproses jutaan transaksi dengan reconciliation engine, menjalankan payment gateway multi-versi, menyaring wallet blockchain lewat AML provider, dan mengelola siklus hidup aset digital dari proposal hingga listing — semua sambil menjaga safeguarding compliance dan audit trail yang immutable.

Semua yang ditulis di sini adalah sistem production yang berjalan di Google Cloud saat ini. Tidak ada yang fictive. Semua nama platform, modul, dan vendor eksternal adalah nama samaran.
Bayangkan Anda menjalankan sebuah cryptocurrency exchange. Setiap hari, ribuan user deposit dan withdraw crypto. Ratusan trade terjadi per detik. Anda wajib melaporkan semua aktivitas ini ke regulator, memastikan dana customer aman di vault yang tepat, dan menyaring setiap wallet dari risiko pencucian uang.
NEXCORE adalah platform yang melakukan semua itu. Ia bukan exchange-nya — ia sistem operasional di belakang exchange. Tiga business scope utama:
Pusat registri 500+ aset crypto. Menentukan harga referensi dari CoinGecko dan CoinMarketCap. Mengelola proses listing aset baru via proposal, assessment board, dan voting. Mencatat dan memvalidasi setiap trade yang terjadi.
Mencatat semua transaksi crypto dan fiat dari exchange ke ledger. Menjalankan reconciliation antara customer balance dan custodied balance. Memproses pembayaran dan payout via Xendit. Mengoreksi kesalahan transaksi lewat revision workflow yang immutable.
API gateway untuk exchange partner melaporkan transaksi. Screening wallet blockchain via Chainalysis sebelum transaksi diproses. Mengelola safeguarding — memastikan persentase tertentu dana customer selalu tersimpan di vault yang aman.
Mari kita bongkar business logic di balik setiap scope.
ASMOD Digital Asset service menyimpan registry 500+ cryptocurrency. Tapi ini bukan sekadar database nama dan ticker. Setiap aset punya:
Kenapa scheduled status change penting? Karena kalau sebuah aset akan di-delist, exchange perlu waktu untuk mengumumkan ke user. Status change dijadwalkan di masa depan, bukan langsung dieksekusi.
Setiap aset crypto butuh harga referensi untuk perhitungan compliance dan pelaporan. Harga diambil dari:
Scheduler berjalan periodik mengambil harga dari semua provider. Harga mentah disimpan sebagai raw_price_data. Lalu reference calculator menggabungkan semua sumber — prioritas berdasarkan konfigurasi source mapping per aset.
Ini bukan hal trivial. Bayangkan: 500 aset × 2 provider × update setiap 5 menit = 288.000 data points per hari. Semua harus konsisten dan auditable.
LISTGOV adalah sistem governance untuk memutuskan aset crypto mana yang layak listing di exchange. Ini bukan sekadar form submission. Ini workflow lengkap:
1. Partner mengajukan proposal
Exchange partner mengisi form proposal yang mencakup:
2. Board assessment
Setiap proposal masuk ke board yang sesuai (misal: Main Board untuk aset established, Fast Track untuk aset yang sudah listed di exchange besar). Board punya assessment questions — pertanyaan due diligence yang harus dijawab oleh tim internal:
3. Voting
Setelah assessment lengkap, anggota board memberikan suara: approve atau reject, dengan alasan. Voting menentukan nasib proposal.
4. Keputusan final
Seluruh proses tercatat immutable — siapa yang vote apa, kapan, dengan alasan apa.
Setiap kali exchange mengeksekusi trade (spot), mereka wajib melaporkannya ke ASMOD Reporting. Data yang dilaporkan:
Trade yang terlambat dilaporkan (melebihi threshold waktu) di-flag sebagai LATE atau SUPER_LATE. Compliance flags otomatis terpasang. Ini penting karena regulator melihat ketepatan waktu pelaporan.
Market maker adalah entitas yang menyediakan likuiditas di exchange. ASMOD Reporting mengelola registry market maker:
Ini adalah core ledger. Setiap deposit dan withdrawal crypto/fiat dari exchange partner dicatat di sini. Yang membuatnya kompleks adalah business rules di balik pencatatan.
Submission Flow:
request_id unikrequest_id ini sudah pernah diproses? Jika ya, kembalikan response yang sama (idempotensi)transaction_time tidak lebih dari 15 menit yang lalu?Status Transitions:
DEPOSIT: DRAFT → COMPLETED
WITHDRAWAL: DRAFT → SUBMITTED → IN_PROGRESS → COMPLETED/FAILEDKenapa WITHDRAWAL punya state IN_PROGRESS? Karena withdrawal butuh konfirmasi dari vault/custodian sebelum dana benar-benar keluar. Kalau vault menolak (misal: insufficient balance), transaksi jadi FAILED.
Yang terjadi saat status jadi FAILED dari IN_PROGRESS:
Sistem otomatis membuat reversal entry — offsetting entry yang membatalkan efek balance sebelumnya. Kalau tadinya WITHDRAWAL membuat negative entry, reversal membuat positive entry dengan jumlah yang sama. Bersih.
Safeguarding Compliance:
Ini adalah regulasi yang mewajibkan exchange menyimpan persentase tertentu dana customer di vault yang aman (bukan di hot wallet). Sistem menghitung:
Konfigurasi threshold (misal 90%) menentukan apakah exchange compliant atau breach. Semua perhitungan dikonversi ke USD menggunakan reference price dari ASMOD Digital Asset — karena threshold dievaluasi dalam USD, bukan per-aset.
TOPUP dan REDEEM operations:
Keduanya tercatat sebagai safeguarding_operations dengan audit trail lengkap.
Setiap hari (atau periode tertentu), tim operasional harus memastikan bahwa dana customer yang tercatat di ledger (customer balance) cocok dengan dana yang benar-benar ada di vault (custodied balance). Ini yang disebut reconciliation.
Reconciliation bukan sekadar query SELECT SUM(balance) FROM customers lalu bandingkan. Ia melibatkan:
1. Multi-source data aggregation
Data diambil dari tiga sumber:
2. Net position calculation per aset
Untuk setiap aset, system menghitung:
Perhitungan ini dilakukan per exchange, per aset, per balance type.
3. Compliance evaluation
Setelah perhitungan, system mengevaluasi:
Configurable percentage memungkinkan threshold berbeda untuk aset berbeda (misal: stablecoin 95%, volatile asset 80%).
4. Approval workflow
Hasil reconciliation tidak otomatis final. Ia masuk ke workflow:
Auto-approval scheduler menghandle routine reconciliation (misal: daily reconciliation yang hasilnya dalam batas normal).
5. Rebalancing
Kalau imbalance terdeteksi — misal vault A kelebihan BTC, vault B kekurangan BTC — system menyediakan rebalancing workflow. Tim operasional bisa menginisiasi transfer antar vault untuk menyeimbangkan.
6. Heavy computation via Cloud Run jobs
Full reconciliation untuk satu exchange besar bisa menyentuh jutaan baris transaksi. Ini bukan query yang bisa dijalankan di request-response HTTP biasa. System menggunakan Google Cloud Run jobs — container yang di-spawn khusus untuk menjalankan perhitungan, lalu mati sendiri setelah selesai.
Bagaimana kalau exchange partner salah input transaksi? Misal: jumlah deposit seharusnya 1.5 BTC, tapi tercatat 15 BTC.
Jawabannya: jangan edit data original.
Revision system menerapkan append-only model:
Transaksi original tidak pernah di-UPDATE atau di-DELETE. Ia tetap ada, immutable. Yang berubah adalah net effect setelah VOID + REV diaplikasikan.
Workflow Revision:
Kenapa tidak edit langsung?
Karena audit trail. Regulator harus bisa melihat history lengkap: transaksi original yang salah, siapa yang mengoreksi, kapan, dengan alasan apa, dan bukti pendukungnya. Kalau data di-edit langsung, history hilang. Ini prinsip dasar financial systems: immutability of records.
TXMOD Payment Gateway adalah jembatan antara dunia crypto dan dunia fiat. Ia menghandle pembayaran via Xendit (payment gateway Indonesia).
Use case: user exchange ingin deposit Rupiah untuk membeli crypto, atau withdraw Rupiah hasil penjualan crypto.
Bagaimana cara kerjanya:
Kompleksitas: Dual API Version
Xendit punya dua versi API yang berbeda struktur payload webhook-nya:
Payment Gateway harus menghandle keduanya. Setiap webhook masuk → validasi signature → tentukan apakah ini payment atau payout → tentukan versi API → parse payload sesuai struktur → catat ke database → proses.
Sender validation:
Sebelum pembayaran diproses, system memvalidasi nama pengirim. Apakah nama di rekening bank cocok dengan nama user di sistem? Fuzzy name matching digunakan karena format nama bisa berbeda (misal: "M Faisal Affan" vs "Muhammad Faisal Affan").
CMMOD Transaction System menyediakan REST API yang digunakan langsung oleh exchange partner. Berbeda dengan TXMOD yang lebih ke internal operations.
Autentikasi HMAC:
Setiap request dari partner harus menyertakan:
X-API-Key: API key unik per exchangeX-Timestamp: timestamp epoch untuk mencegah replay attackX-Signature: HMAC-SHA256 dari (request body + timestamp) menggunakan API secretKalau ada yang tidak cocok, request langsung ditolak — sebelum menyentuh business logic.
Rate Limiting dan Idempotensi:
Setiap partner punya rate limit. Setiap transaksi punya request_id unik. Kalau network gagal dan partner retry, system tidak akan mencatat transaksi dua kali. Redis menyimpan mapping request_id → response dengan TTL 24 jam.
Business rules sama dengan TXMOD — validasi aset, validasi exchange, status transitions, balance entries, safeguarding compliance. Yang membedakan adalah target user: TXMOD untuk tim internal, CMMOD untuk exchange partner eksternal.
Ini adalah komponen AML (Anti-Money Laundering). Sebelum exchange partner memproses transaksi, mereka bisa (dan sebaiknya) menyaring wallet address-nya.
Workflow screening:
Kenapa ini penting?
Karena exchange wajib comply dengan regulasi AML/KYC. Menerima dana dari wallet yang terkait aktivitas ilegal bisa berakibat serius — dari denda regulator sampai pencabutan izin operasi. Chainalysis screening adalah first line of defense.
Re-screening:
Wallet bisa di-screen ulang kapan saja. Risk assessment bukan one-time check — wallet yang bersih hari ini bisa jadi berbahaya besok (karena terlibat transaksi ilegal setelah screening pertama).
Semua service ini tidak berjalan sendiri-sendiri. Mereka membentuk sebuah workflow terintegrasi:
Exchange Partner
│
├─→ CMMOD Transaction System (lapor transaksi)
│ ├─→ ASMOD Digital Asset (validasi aset, cek harga)
│ └─→ Redis (idempotensi)
│
├─→ CMMOD Wallet Screening (Chainalysis AML check)
│
├─→ ASMOD Reporting (lapor trade)
│ └─→ ASMOD Digital Asset (harga referensi)
│
└─→ TXMOD Payment Gateway (deposit/withdraw fiat)
└─→ Xendit (proses pembayaran)
└─→ Webhook balik → TXMOD Payment Gateway
└─→ TXMOD Transaction System (update balance)
Internal Operations Team
│
├─→ TXMOD Reconcile System (rekonsiliasi balance)
│ ├─→ TXMOD Transaction System (data transaksi)
│ ├─→ CMMOD Transaction System (data transaksi partner)
│ ├─→ ASMOD Reporting (data trade)
│ ├─→ ASMOD Digital Asset (harga USD)
│ └─→ Fireblocks (vault balance aktual)
│
├─→ TXMOD Revision System (koreksi transaksi)
│ ├─→ TXMOD Transaction System (apply revision)
│ ├─→ CMMOD Transaction System (apply revision)
│ └─→ ASMOD Reporting (apply trade revision)
│
└─→ ASMOD Digital Asset (kelola aset, proposal, voting)
├─→ CoinGecko (harga)
└─→ CoinMarketCap (harga alternatif)Setiap panah di atas adalah API call yang harus reliable, memiliki retry logic, timeout yang tepat, dan error handling yang graceful.
Dari semua yang sudah dijelaskan, ada beberapa pola business logic yang menurut saya paling menarik:
Di sistem fintech, idempotensi adalah requirement utama — bukan nice-to-have. Network failure, timeout, retry — semua adalah expected behavior. Tanpa idempotensi, satu transaksi bisa tercatat berkali-kali. Redis sebagai idempotency store adalah pattern yang sederhana tapi kritis.
Data finansial tidak boleh di-edit langsung. Setiap koreksi adalah entry baru (VOID + REV), bukan UPDATE ke row existing. Ini pattern yang sama dengan double-entry accounting — setiap transaksi punya offsetting entry. Audit trail lengkap adalah non-negotiable.
Harga referensi untuk satu aset bisa datang dari CoinGecko, CoinMarketCap, atau internal trade data. System harus memutuskan sumber mana yang prioritas, kapan fallback, dan bagaimana menggabungkan multiple sources. Konfigurasi ini per aset — BTC mungkin pakai CoinGecko sebagai primary, sementara token baru mungkin hanya punya internal trade data.
Menghitung net position untuk jutaan transaksi bukan query database biasa. Ini adalah batch computation yang butuh dijalankan di container terpisah (Cloud Run job), dengan hasil yang disimpan untuk direview. Tidak ada yang real-time di sini.
Setiap exchange hanya boleh melihat datanya sendiri. Ini bukan filter di application code — ini policy di database level (PostgreSQL Row-Level Security). Kalau developer lupa WHERE clause, database tetap menolak. Defense in depth.
25+ feature flags memungkinkan fitur di-deploy ke production dalam state disabled. Di-enable bertahap: development → staging → production (exchange tertentu dulu) → production (semua). Zero-downtime, zero-risk deployment.
Platform operasional exchange crypto harus menghandle:
Technology stack: Go + PostgreSQL + Redis + Next.js + Google Cloud. Tapi yang membedakan bukan tech stack-nya — melainkan business logic dan engineering discipline di setiap layer.
Artikel ini berdasarkan pengalaman production nyata. Semua nama platform dan modul internal yang disebutkan adalah nama samaran. Semua angka dan detail bisnis akurat per Juli 2026.



