One address, five networks: how EVM deposit addresses work

With Valtu, a customer's 0x address is the same on Ethereum, BNB Chain, Polygon, Base and Lisk. Here is why that works, and what it means for deposits sent on any of them.

The Valtu team

Ethereum and the networks built like it share one address format. A private key gives the same 0x… address on all of them. Valtu uses this: each customer wallet has one EVM address, and it works on every EVM network we support.

What that means for your customers

  • One address to show. "Send USDT or USDC to this address on Ethereum, BNB Chain, Polygon, Base or Lisk."
  • A wrong network is often still right. If a customer meant Polygon but sent a coin Valtu supports on Base, it still arrives at the same address, and Valtu records it as a Base deposit.
  • Each deposit is tagged with its network and coin, so deposit.confirmed tells you exactly what arrived where.

What it doesn't mean

  • Networks Valtu doesn't support aren't watched. The same address exists on other EVM networks too, but Valtu only records deposits on the networks it supports. List those networks clearly. The current list is on the networks page.
  • Coins are separate per network. USDC on Base and USDC on Ethereum are different tokens, recognized by their contracts. Valtu counts only each network's real contract, so look-alike tokens are ignored.

Tron and Bitcoin are separate

Tron addresses (T…) and Bitcoin addresses (bc1q…) use different formats, so each customer wallet also has its own Tron and Bitcoin address. One call gives a customer all of them:

const wallet = await valtu.wallets.forCustomer("cus_42");
depositAddress(wallet, "base");    // 0x…  (same for ethereum, bsc, polygon, lisk)
depositAddress(wallet, "tron");    // T…
depositAddress(wallet, "bitcoin"); // bc1q…

Network pages: Ethereum · BNB Chain · Polygon · Base · Lisk.

Keep reading

More from the blog

developers · python The Valtu Python SDK is on PyPI pip install valtu: a signed API client, webhook verification and enclave attestation checks for Python 3.9 and later, with the same behavior as the TypeScript wallet kit. stablecoins · networks USDT on Tron, Ethereum or BNB Chain: which network should your customers use? The same dollar token lives on several networks, with different fees, speeds and address formats. Here is how to choose which ones to offer, and how to keep customers from sending on the wrong one. payouts · developers Sending crypto payouts at scale: batches, approvals and limits Paying hundreds of sellers or employees in USDT is mostly an operations problem: never paying twice, getting the right people to approve, and keeping a wallet's queue moving.

Start with a test workspace today.

Same dashboard, same API, free test coins. Go live when your team is ready.