D0.fi
Industry Solutions · DApps & RWA

For DeFi vaults, RWA protocols, perp DEXs and prediction markets.

Onboard the next billion users to your protocol — crypto-native or not.

D0 gives DApps and RWA platforms a single SDK that connects any Web3 wallet — and lets non-crypto users fund positions with local fiat. Keep your on-chain UX. Remove the friction. Expand your market.

EVM + Solana
One SDK, both ecosystems
4 → 1
Wallet steps reduced to one
Fiat On-Ramp
PromptPay · QRPh live
Non-custodial
Connect mode, you never touch keys

Why DApps & RWA Build on D0

Keep your protocol.
Extend your reach.

Reach

Break the crypto-native ceiling

Your audience is capped at users who already hold crypto. D0’s fiat on-ramp lets anyone fund a position with local rails — PromptPay, QRPh — and land in USDC/USDT inside your app. Same product, a much bigger market.

Frictionless

From 4 signatures to one tap

The classic flow — connect, sign-in, approve, deposit — bleeds users at every wallet prompt, and dies when they run out of gas. D0 collapses this with gasless transactions and a managed deposit path, so users fund in one step.

Non-custodial

Connect any wallet, custody nothing

Prefer to stay fully non-custodial? D0’s Connect layer works like Reown or Rainbow — one API across EVM (WalletConnect v2 / EIP-6963) and Solana (Wallet Standard). Your users hold their own keys and receipts. You touch none of it.

Three Ways In

Three ways in.
One integration.

Meet every user where they are — from DeFi degens to first-time buyers.

01

Connect Wallet

For crypto-native users

Users bring their own wallet and sign directly with your contracts.

Non-custodialEVM + SolanaYou never touch funds
02

Deposit to D0

For users who want it simple

One transfer to a managed address. D0 handles approvals, gas, and settlement.

GaslessOne stepAuto-reconciled
03

Pay with Fiat

For everyone else

Scan a local QR, pay in THB or PHP, land in stablecoins inside your app.

PromptPay / QRPhNo wallet neededFiat-priced UX
All three ship in a single D0 SDK. Turn on what you need.See the SDK

Integration Flow

As simple as an import.
connect(), and go.

One SDK surface across chains and entry points — no wallet plumbing to maintain.

app.ts
import { D0 } from '@d0fi/sdk'
const d0 = D0.init({ appId, chains: ['evm', 'solana'] })
// ① Non-custodial connect
await d0.connect()
await d0.signMessage(...) // SIWE preserved
await d0.sendTransaction(...)
// ② / ③ Funded entry (custodial + fiat)
d0.deposit({ mode: 'auto' }) // gasless, managed address
d0.fiat({ currency: 'THB' }) // PromptPay QR
01

Drop in the SDK

One package, EVM + Solana handled.

02

Pick your entry points

Connect, Deposit, or Fiat — toggle per flow.

03

Ship

Unified webhook & dashboard reconciles every path into one report.

Connect mode is non-custodial and requires no additional licensing. Custodial and fiat modes settle through D0’s licensed rails (PH OPS / HK MSO).

Coverage

Every chain your users are on.
Every rail they pay with.

Chains & Wallets

EVM
WalletConnect v2 · EIP-6963 injected
Solana
Wallet Standard

Wallets

MetaMaskTrust WalletCoinbase WalletOKX WalletPhantomSolflareBackpackRainbowRabbyZerionLedgerWalletConnect

Fiat On-Ramps

🇹🇭
Thailand
PromptPay · THB
● Live
🇵🇭
Philippines
QRPh · PHP
● Live
🌏
More Southeast Asia rails
In onboarding
Coming soon
Settle into USDC / USDT inside your app. Zero slippage · transparent fees.

Ready to onboard users your
wallet flow can’t reach?

Join DApps and RWA protocols using D0 to connect any wallet and accept local fiat — without giving up their on-chain UX.

Non-custodial option · Licensed fiat rails · Gasless infrastructure · 99.9% uptime SLA