Product

Why We Killed the Per-Chain Deposit Address

·3 min read
Updated
multi-chainbasepolygonsolanadepositsproduct-update

The problem with one address per chain

For most of Minisend's life, every supported chain had its own deposit address. If you held USDC on Polygon and USDC on Base, those were two different addresses in the app, and picking the wrong one meant a support ticket at best.

It worked, but it put the hardest part of the product on the user. You had to know which chain your money was on, find the matching address, and get it right the first time. Stablecoins sent to the wrong chain are often unrecoverable, so the cost of a mistake was real money.

Every chain we added made that worse, not better. A menu of four addresses is manageable. A menu of twenty is a liability.

What replaced it

One 0x address. The same string on every chain.

Send USDC from any of 19 EVM chains, or USDT from any of 15, plus Solana, to that one address. Minisend detects which chain the deposit arrived on and routes it. It credits as spendable USDC in your balance in roughly a minute. There is no chain selector, no bridge step, and no wrapped asset to unwrap at the other end.

For the mechanics of sending a deposit, see deposit USDC or USDT from anywhere.

What this changed downstream

Collapsing the addresses made two other things possible that were awkward before:

  • A single balance. When deposits landed on separate chains, your money was scattered across them. Now everything credits to one balance, which is what earns while it sits and what you settle out of.
  • Partial settlement. You can settle any amount to local currency and leave the rest earning, because there is only one pool to draw from.

Where it pays out

The balance settles to:

  • Kenya — M-Pesa, Buy Goods till, Paybill, and bank transfer (KES)
  • Nigeria — bank transfer (NGN)
  • Ghana — mobile money and bank transfer (GHS)
  • Uganda — mobile money and bank transfer (UGX)

M-Pesa payouts arrive in about ten seconds once the deposit has settled. Bank and mobile money transfers take five to thirty minutes.

What's next

More payout corridors, and more chains behind the same address. The point of the change was that adding a chain should be invisible to you: nothing in the app should need a new address again.

Frequently asked questions

Why did Minisend replace per-chain deposit addresses?
A separate address per chain put the hardest part of the product on the user. You had to know which chain your funds were on, find the matching address, and get it right first time, and stablecoins sent to the wrong chain are often unrecoverable. A menu of four addresses was manageable; a menu of twenty would have been a liability.
Is it really the same address on every chain?
On every EVM chain, yes: one 0x string works across all 19 USDC chains and all 15 USDT chains. Solana is the exception, because it is not an EVM chain and cannot share the format. A separate Solana address is issued alongside the 0x one, and deposits to either land in the same balance.
What did one address make possible?
Two things. A single balance, because deposits no longer scatter across chains, which is what earns yield while it sits. And partial settlement, because there is one pool to draw from, so you can settle any amount to local currency and leave the rest earning.
Do I need to tell Minisend which chain I sent from?
No. Minisend detects the source chain and routes the deposit automatically. There is no chain selector in the deposit flow, and the deposit credits as spendable USDC in roughly a minute.

Keep Reading

Minisend: Convert USDC to local currency instantlyLaunch App
Copied to clipboard