Valtu Wallet docs
Build on wallet infrastructure made for fintech
Give every customer their own deposit addresses, credit deposits from signed webhooks, and send payouts that follow your team's approval rules. Keys are generated and used inside hardware enclaves and never leave them.
Building something specific? Start from a solution design for payment acceptance, exchanges, payouts or treasury. Reviewing security? Read the whitepaper.
How it fits together
Your server talks to Valtu over a signed API. Your team works in the dashboard. Money moves on-chain, and Valtu tells your server what happened through webhooks.
deposit.confirmed reaches your server, signed.Key ideas
Workspaces and environments
A workspace holds your wallets, team, API keys, policies and webhooks. It is either test (testnets, free coins) or live (mainnet, real funds). Build in a test workspace, then switch to live with the same code: only the key and the coins change.
Wallets
Every wallet has one address per network family: one EVM address for Ethereum, BNB Chain, Polygon, Base and Lisk, plus Tron, Solana and Bitcoin addresses.
| Type | Use it for |
|---|---|
user | One per end customer, to receive deposits. Usually swept automatically. |
operational | Hot wallet for payouts and paying network fees (the gas station). |
treasury | Reserves. Sweeps collect here; keep everyday payouts off it. |
Amounts
Amounts are integer strings in base units: wei for ETH, sun for TRX and TRC-20, lamports for SOL, satoshi for BTC, token units otherwise. 25.5 USDT on Tron (6 decimals) is "25500000". The SDK converts for you with toBaseUnits().
Approvals belong to you
Your workspace's policies decide whether a payout goes straight to signing, needs approvals from a group of your team members (each confirms with a passkey), or is blocked. Valtu never co-signs your transfers and can't move your funds.
Networks and coins
The network keys used across the API. GET /v1/assets returns the exact coins your workspace can use, with decimals and contracts.
| Network | Key | Common assets |
|---|---|---|
| Ethereum | ethereum | ETH, USDT-ERC20, USDC-ERC20 |
| BNB Chain | bsc | BNB, USDT-BEP20, USDC-BEP20 |
| Tron | tron | TRX, USDT-TRC20 |
| Solana | solana | SOL, USDT-SPL, USDC-SPL |
| Bitcoin | bitcoin | BTC |
| Polygon | polygon | POL, USDC-POLYGON |
| Base | base | ETH-BASE, USDC-BASE |
| Lisk | lisk | ETH-LISK, USDC-LISK |
Closing networks. When Valtu retires a coin or network, closesAt is set on it in /v1/assets and you get a network.closing webhook ahead of the date. Stop showing its deposit address before then.