Dai Stablecoin on Base
Accept DAI (ERC-20)
on Base with an API.
Take DAI payments from customers and pay out in DAI on Base: a deposit address for every customer, deposits credited once they're final, and payouts your own team approves. The keys stay in hardware enclaves you can verify.
DAI on Base
The details.
| Network | Base · ERC-20 token |
| Contract | 0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb View on explorerOnly this contract is accepted as DAI on Base: look-alike tokens sent to your customers' addresses are ignored. |
| Decimals | 18 (amounts in the API are whole numbers of the smallest unit) |
| Deposits | A deposit counts once it is 30 blocks deep and its block is still part of the chain. If a reorganization removes it, it's never credited. |
| Minimum withdrawal | 10 DAI |
| Network fees | Network fees are paid in ETH. Your gas wallet can top up the ETH that token payouts and sweeps need, within a daily cap you set. |
| Addresses | Every wallet has one EVM address (0x…), the same on Ethereum, BNB Chain, Base, Polygon and Lisk. A customer can send any supported coin on any of those networks to it. |
| Asset id in the API | DAI-BASE |
For developers
Deposit addresses and payouts in a few lines.
import { Valtu, depositAddress } from "@valtu/wallet-kit"; const valtu = Valtu.fromEnv(); // A deposit address for one of your customers (idempotent). const wallet = await valtu.wallets.forCustomer("cus_42"); const address = depositAddress(wallet, "base"); // A payout of 25.50 DAI: retries never send twice. const amount = await valtu.assets.toBaseUnits("DAI-BASE", "25.50"); await valtu.transfers.create({ walletId: payoutWalletId, asset: "DAI-BASE", amount, to, externalId: "payout_981" });
Python: pip install valtu, same calls (valtu.wallets.for_customer, valtu.transfers.create). Full guide: integration.
Related
More on Valtu.
Start with a test workspace today.
Same dashboard, same API, free test coins. Go live when your team is ready.