Migrating to Ironwood – Self-migration

In lieu of our migration tool available in Zodl v3.9.0, it's possible to migrate your Orchard funds to Ironwood on your own.

For privacy reasons, however, we strongly recommend using our migration tool instead, as it confers additional privacy by using standardized amounts and timing.

The details below cover self-migration, and is here for users who may still be on Zodl v3.8.0 – our release that supported Ironwood but not assisted migration.


Migrating your funds yourself

You can migrate your funds manually, and they are exactly as safe when you do it this way. The difference between doing it yourself and waiting for the migration feature is privacy, not safety.

Your options

There are three ways to handle this:

  • Move everything in one transfer. The quickest way to be done with it. It also publishes your Orchard balance as a single figure, which is the most identifying number you could put on the blockchain.
  • Move it across in stages. Each transfer publishes only what you send, so nobody sees your balance. Spread the transfers across days and keep Tor on. Each one has to be larger than your current Ironwood balance, or it will spend the funds you already moved instead of drawing on Orchard.
  • Wait for the migration feature. The best privacy for the least effort. It picks amounts that match what other wallets are sending, spaces the transfers out for you, and keeps them off the connection your wallet syncs on.

What becomes public when I move funds across?

Value that crosses from Orchard into Ironwood is public. Every wallet works this way because the turnstile mechanism publicly accounts for value moving between pools.

The amount you enter on the Send screen becomes public. Send 1 ZEC and the public record shows 1 ZEC. The rest of your balance stays behind in Orchard as change, and none of it is disclosed.

  • Public: the amount you send in each transfer.
  • Not public: who sent it, who received it, and every address involved. Those stay shielded.
  • Not public unless you make it so: the fact that several separate transfers belong to the same wallet.

What you control

Pick amounts that do not describe you. Plenty of people will send 10 ZEC, but few will send exactly 10.3467 ZEC. Specific amounts can point back to you.

Avoid any amount that already appears somewhere public. If you withdrew a specific sum from an exchange, sending that same sum across the shielded pools connects the two actions.

You also control your network connection, your timing, and how many transactions you make.

Turn on Tor protection and leave it on

Tor protection in Zodl covers both syncing and sending, so switch it on once and leave it on rather than turning it on just before a transfer.

Without Tor, your wallet reveals your IP address to the server it connects to, and that server sees every transfer you make. Someone in that position does not have to work out which transfers are yours, because they watched you submit all of them. This is the largest single thing you control. 

If Tor is not usable where you are, a trusted VPN is the next best option. A VPN moves the observer from your wallet's server to your VPN provider, rather than removing the observer entirely, so choose your provider accordingly.

Spread your transfers out

If you make more than one transfer, timing matters. Transfers made minutes apart in a single sitting are easy to group together, whereas transfers spread across days are much harder to connect.

  • Leave days between transfers, not minutes.
  • Vary the time of day you send. Sending every evening at nine is a pattern in itself.
  • Do not pair a transfer with anything else that identifies you, such as a payment you have announced publicly.

How Zodl chooses which funds to spend

Zodl spends from your Ironwood funds first. It only draws on Orchard when your Ironwood balance cannot cover the amount on its own. 

This matters if you plan to move your balance in stages. If you send yourself two transfers of the same size, the second one simply spends the funds you moved in the first. Your Orchard balance does not change, and you have paid a fee for nothing. To keep drawing on Orchard, each transfer has to be larger than your current Ironwood balance.

Migration step-by-step

  1. Make sure you are running Zodl v3.8.0 or later.
  2. Turn on Tor protection in settings and leave it on.
  3. Tap 'Receive'. On the 'Zcash Shielded Address' portion, tap 'Copy'.
  4. Go back to your main wallet screen. Tap the '...' menu in the upper-right, then 'More', then 'Address Book'.
  5. Choose 'Add New Contact', then paste the address you copied. Give it a distinct, descriptive name, such as 'My Zodl Address' (even adding a unique emoji to distinguish it further), and tap ‘Save’.
  6. Back on your main wallet screen, tap ‘Send’. Choose 'My Zodl Address' from your address book as the recipient, then send a small, non-identifying test amount (such as 0.001 ZEC).
  7. On the main activity screen, watch for confirmation of this transaction. Then, tap your balance at the top of this screen to view the breakdown of pool balances. You should now see your test amount under the Ironwood column.
  8. From here, you have assurance of your own address entry in your Address Book, and may send larger amounts to yourself to migrate from Orchard to Ironwood, using the guidelines above.

Remember: If you are moving your balance in stages, repeat the steps with a larger amount each time and leave days in between.

How do I know whether my funds are in Orchard or Ironwood?

Tap your balance to see how much of it sits in each pool. When your Orchard balance reads zero, or close to it, you are through.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.