Akses awal, mitra desain

Infrastruktur dompet dengan ledger yang bisa Anda audit baris demi baris.

WalletD memberi tim fintech seluruh tumpukan uang, dompet, top-up, pembayaran, reward, marketplace, di atas ledger of record double-entry yang terekonsiliasi sejak konstruksinya. Satu API. Infrastruktur Anda.

Uang bergerak. Kepercayaan tetap.

# Fund a wallet, then send money. Balances only move on the ledger.
curl -sS -X POST "$WALLETD_API/v1/users" \
  -H "Authorization: Bearer $WALLETD_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: usr-42-create" \
  -d '{"external_id":"user-42","kind":"consumer","display_name":"Ada Lovelace","handle":"ada"}'

curl -sS -X POST "$WALLETD_API/v1/transfers" \
  -H "Authorization: Bearer $WALLETD_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: xfer-ada-grace-001" \
  -d '{"from":"user-42","to":"@grace","amount":2500,"currency":"USD"}'
client := walletd.New(os.Getenv("WALLETD_API"), os.Getenv("WALLETD_API_KEY"))

var transfer walletd.Transfer
err := client.Do(ctx, http.MethodPost, "/v1/transfers", map[string]any{
    "from":     "user-42",
    "to":       "@grace",
    "amount":   2500, // minor units, $25.00, never a float
    "currency": "USD",
}, &transfer, "xfer-ada-grace-001") // idempotency key
if err != nil {
    return fmt.Errorf("transfer: %w", err)
}
client = WalletD()  # reads WALLETD_API / WALLETD_API_KEY

transfer = client.request(
    "POST",
    "/v1/transfers",
    {
        "from": "user-42",
        "to": "@grace",
        "amount": 2500,      # minor units, $25.00
        "currency": "USD",
    },
    idempotency_key="xfer-ada-grace-001",
)
print(transfer["status"])  # "settled"
const res = await fetch(`${API}/v1/transfers`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${API_KEY}`,
    "Content-Type": "application/json",
    "Idempotency-Key": "xfer-ada-grace-001",
  },
  body: JSON.stringify({
    from: "user-42",
    to: "@grace",
    amount: 2500, // minor units, $25.00
    currency: "USD",
  }),
});
const transfer = await res.json();
$transfer = $walletd->request('POST', '/v1/transfers', [
    'from'     => 'user-42',
    'to'       => '@grace',
    'amount'   => 2500,      // minor units, $25.00
    'currency' => 'USD',
], idempotencyKey: 'xfer-ada-grace-001');

echo $transfer['status']; // "settled"
var body = Map.of(
    "from", "user-42",
    "to", "@grace",
    "amount", 2500,      // minor units, $25.00
    "currency", "USD");

Transfer transfer = client.post(
    "/v1/transfers", body, "xfer-ada-grace-001", Transfer.class);

Tidak ada SDK yang perlu dipasang. API-nya berupa HTTP + JSON biasa dengan spesifikasi OpenAPI yang diterbitkan. Jumlah selalu dalam satuan minor bilangan bulat, tidak pernah float.

Mengapa WalletD

Ketelitian sebuah ledger. Jangkauan sebuah platform dompet.

Alat ledger menjaga pembukuan Anda tetapi menyerahkan pembangunan produk kepada Anda. Platform dompet mengirimkan produk tetapi tidak bisa menunjukkan pembukuan yang bersih. WalletD adalah kedua bagian itu, terikat bersama dan dapat dibuktikan.

Ketepatan yang dapat dibuktikan

Ledger of record double-entry sejati di mana setiap pergerakan menuliskan leg berimbang yang berjumlah nol per mata uang. Satuan minor bilangan bulat, tidak pernah float. Panggilan idempoten diputar ulang byte demi byte. Verifier bawaan memeriksa ulang tujuh invarian pada setiap ledger, secara terjadwal.

Tumpukan uang yang lengkap

Bukan sekadar pembukuan. Dompet, top-up, peer-to-peer, pembayaran dengan hold, refund, payout, jalur kredit, jadwal biaya, mesin reward berbasis aturan, langganan, dan komisi marketplace, semuanya di balik satu REST API, semuanya memposting ke ledger yang sama dan dapat diaudit.

Deploy di mana saja, miliki data Anda

Multi-tenant sejak dirancang, dengan ledger setiap tenant terisolasi secara fisik pada database dan role-nya sendiri. Berjalan di infrastruktur Anda sendiri lewat Docker, tanpa kotak hitam, tanpa data yang keluar dari kendali Anda. Inti ledger bersifat domain-agnostic: tidak ada bentuk dompet yang ditanamkan di dalamnya.

Satu platform

Setiap pergerakan mendarat di ledger of record.

Aplikasi Anda memanggil satu API. WalletD menjalankan jalur uang; LedgerD menjaga pembukuan, terisolasi secara fisik, hanya-tambah, dan diverifikasi secara terjadwal. Tidak ada yang settle tanpa dicatat oleh ledger.

Bukti, bukan kata sifat

Pembukuan yang terekonsiliasi hingga entri.

Audit independen menghitung ulang seluruh ledger langsung dari catatan mentah, tanpa mempercayai checker milik perangkat lunaknya sendiri. Setiap angka di bawah ini dikutip dari audit itu dan dari baseline beban, dan setiap angka berasal dari pengujian pada data sintetis.

5,455,009
entri ledger dihitung ulang tanpa satu pun pengecualian

Audit SQL independen, 2026-08-18. Pemeriksaan konservasi, rekonsiliasi, otorisasi, dan siklus hidup semuanya menghasilkan nol di 5 ledger.

0
penyimpangan saldo di 7,463 akun

Saldo yang di-cache vs. saldo yang dihitung ulang dari riwayat penuh. Total penyimpangan absolut: 0.

1,394,739
pemberian reward cocok persis dengan ledger

Catatan domain direkonsiliasi terhadap posting ledger baik pada jumlah maupun nominal. Nol pemberian yang hilang, ganda, atau non-positif.

400 tx/s
pembayaran berkelanjutan dalam baseline beban

Benchmark sintetis, satu host, arsitektur split-ledger (2026-08-14). Sebuah pembayaran adalah authorize plus capture. Invarian ketepatan bertahan sepanjang pengujian.

Akses awal

Jadilah mitra desain.

Kami bekerja dengan sejumlah kecil tim yang membangun produk dompet dan uang di atas WalletD. Jika itu Anda, mari bicara. Anda akan mendapat akses langsung ke orang-orang yang membangunnya.