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.

1Wallet per customerOne call gives a customer addresses on every network.
2DepositValtu watches the chain and confirms it after enough blocks.
3Webhookdeposit.confirmed reaches your server, signed.
4SweepAutomations collect funds into your treasury wallet.
5PayoutYour policies decide who approves; the enclave signs.

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.

TypeUse it for
userOne per end customer, to receive deposits. Usually swept automatically.
operationalHot wallet for payouts and paying network fees (the gas station).
treasuryReserves. 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.

NetworkKeyCommon assets
EthereumethereumETH, USDT-ERC20, USDC-ERC20
BNB ChainbscBNB, USDT-BEP20, USDC-BEP20
TrontronTRX, USDT-TRC20
SolanasolanaSOL, USDT-SPL, USDC-SPL
BitcoinbitcoinBTC
PolygonpolygonPOL, USDC-POLYGON
BasebaseETH-BASE, USDC-BASE
LiskliskETH-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.