Sending and withdrawing

Your balance lives on Miden. Paying another person on Sempo happens there, privately and for nothing; paying anyone else, or your own bank, takes the same road your money came in on, backwards.

The picture

Money reaches Sempo as a bank transfer. Our banking partner converts it to USDC — a digital dollar — and delivers it to your Ethereum address. From there it is bridged onto Miden, the network Sempo is built on, and that is where your balance is held and where the number on your home screen comes from.

Your bankdollars, euros, dirhamsAlign convertsEthereumUSDC arrives herebridgeMidenyour balance, in USDCprivate · seconds · no feePeople on Sempopaid on Miden, in secondsbridge, on the way outEthereum, againto any wallet, or to a bankAlign pays outA bankyours, or a contact's

Two things about Miden decide how the rest of this page works. Account balances there are private: what you hold is known to you and to the service that keeps your account, and is not published for anyone to read. And moving money there costs a fraction of a cent — so little that Sempo pays it and you never see a fee.

Sending to someone on Sempo

A payment to another Sempo user goes from your Miden account to theirs and never leaves Miden. Nothing is converted, nothing crosses to another network, nothing is charged.

  1. Press Send and choose Someone on Sempo. The people you can pay are the ones in your contacts who have a Sempo account. Anyone else can be added first, by their email.
  2. Enter an amount and, if you like, a note they will see. You then see exactly what leaves and exactly what they receive, which are the same number, before you confirm.
  3. Confirm, proving it is you with a code if you have not signed in lately. Your key signs one transaction on Miden that hands the money to their account.
  4. Their account takes it in within a few seconds. Both of you see it under Activity.

Sending outside Sempo

Paying somebody who is not on Sempo means leaving Miden. The money is bridged back to Ethereum as USDC, and from there it goes one of two ways:

  • To an Ethereum wallet. The USDC is sent to the address you saved for the contact, as an ordinary transfer on Ethereum, signed by your key. Their wallet sees it the way it sees any other USDC.
  • To a bank account. The USDC goes to our banking partner, who pays out to the account you saved for the contact in the currency that account holds.

Both cost something — Ethereum charges a fee to move anything, and a bank payout has a route and a price — and both take longer than a payment on Sempo. The review shows the fee and what the other side receives before you confirm, exactly as a withdrawal does.

Withdrawing

A withdrawal is a payment outside Sempo to your own bank account: the same road out, ending at a bank in your name. That is the only difference between withdrawing and sending, and it is why the withdraw flow has no recipient to choose — the name on the account is written from your verified record, not typed.

  1. You give Sempo one bank account, once. The bank decides the currency and the route — ACH or wire for a US dollar account, SEPA for euros, UAE FTS for dirhams — and the route decides the fee.
  2. You enter an amount and see the fee and exactly what the bank will receive. A quote that would pay out nothing is refused rather than sent.
  3. You confirm, proving it is you, and the withdrawal appears under Activity with an email to match. Most routes arrive the same day or the next business day.

What is switched on today

The page above describes how the system is built. Not all of it is turned on for everyone yet, and the buttons say so rather than pretend:

  • Sending to someone on Sempo is built end to end on Miden. It is being switched on as the bridge that carries deposits onto Miden is finished — until then, money that arrived by bank transfer is still on Ethereum, and there is nothing on Miden to send.
  • Sending outside Sempo waits on the same bridge, and is marked Soon in the flow.
  • Withdrawing works in full in the test environment, and in production waits on the same last step.