ZecpassGet a pass

Using Zecpass

A pass takes about eight minutes and three decisions. This page walks through all of them.

Before you start

You need three things.

  1. Shielded ZEC in a wallet that can send from the shielded pool. Zodl (formerly Zashi) is the reference; Ywallet and Zingo work too. An exchange balance is not shielded and defeats the point.
  2. A transparent Zcash address for refunds. In Zodl: Receive, then switch to Transparent. It starts with t1. If the solvers cannot fill your order, NEAR Intents sends the ZEC back there. It is never used otherwise.
  3. An address on Robinhood Chain that will receive $ZECPASS. Any 0x address. If privacy matters to you, make it a fresh one: the pass page can generate a wallet in your browser that has never existed anywhere. Download its key before you continue. Robinhood Chain runs on ETH for gas, so to move the tokens later you will need a little ETH at that address, which you can bring in through the same road or from any exchange that supports Robinhood Chain withdrawals.

Amounts

Limit Value Why
Minimum 0.01 ZEC Below this the fixed costs of the two rails eat the order.
Maximum 5 ZEC The daily cap of the relayer vault is measured in ETH, and one order should never be most of it. Larger amounts can be split.

At the time of writing 0.1 ZEC becomes about 0.057 ETH on Arbitrum One and about 0.0568 ETH on Robinhood Chain, of which the hub keeps 0.5 percent. The rest buys $ZECPASS at whatever the Pons curve prices it at when the sweep lands. Nothing is fixed: the quote page shows the live figures.

The steps

1. Ask for a pass

On the pass page enter the amount, the receiving address and the refund address, then press Open the gate. The site asks the relayer, which asks NEAR Intents for a one-time deposit address on Zcash. You get:

  • the deposit address, as text and as a QR code with the amount encoded,
  • a twenty minute countdown, which is how long the solver's quote holds,
  • your pass address on Robinhood Chain, which is where the ETH will land before the sweep,
  • an order id. Keep it. It is the only handle for support.

The order is also saved in your browser so you can close the tab and come back.

2. Send the ZEC

From your shielded balance, send exactly the amount shown to the deposit address. In Zodl: Send, paste or scan, confirm. The transaction is a deshield: the amount and the destination are visible on the Zcash chain, your sending address and your history are not.

If you send a different amount the order still settles at market once NEAR Intents sees it, but the quote no longer applies. If you send after the countdown, the same thing happens. Sending nothing costs nothing: the order expires and the deposit address is never reused.

Optionally paste the Zcash transaction id into the order page. It lets NEAR Intents pick the deposit up sooner.

3. Wait

The road has eight states, shown on the right of the pass page and refreshed every ten seconds.

State Typical time What is happening
Waiting for your ZEC until you send Nothing has been received.
Deposit seen on Zcash 1 to 3 min NEAR Intents saw the transaction and waits for confirmations.
Solvers settling 3 to 6 min A market maker fills the intent and pays ETH on Arbitrum One to the relayer.
ETH on Arbitrum One seconds The relayer has the ETH and decides between the two delivery modes below.
Relay in flight about 1 s Relay moves the ETH to Robinhood Chain, straight into your pass.
ETH in your pass seconds Your pass contract holds the ETH. From here on, only you can withdraw it raw.
Sweeping the pass one block The hub buys $ZECPASS on the curve and transfers it to your address.
Delivered done The tokens are at your address. The order page shows the sweep transaction.

Instant mode. When the hub vault holds enough ETH, the relayer skips the two Relay states and delivers from the vault the moment NEAR Intents settles, then refills the vault with the Arbitrum ETH in the background. You see the road jump from ETH on Arbitrum One to Delivered.

4. Check

Open the sweep transaction on the explorer: it shows ETH leaving your pass, a buy on the Pons curve and a transfer of $ZECPASS to your address. Look up your address on Pons or any wallet connected to Robinhood Chain to see the balance.

If something goes wrong

  • The order says expired. No deposit reached the address before the deadline. Nothing was taken. Ask for a new pass.
  • The order says refunded. No solver could fill the intent, or the amount deposited was too far from the quote. NEAR Intents sent the ZEC back to your transparent refund address, minus the Zcash network fee. It takes a few minutes to appear.
  • ETH is in your pass but nothing happens. Either the token is not launched yet, or the hub is paused, or the relayer is down. Your ETH is not stuck: the beneficiary address can call withdraw on the hub at any time and receive the raw ETH. The stats page says which of the three it is. The relayer retries the sweep on every tick, so once the cause clears the pass sweeps itself.
  • The order says failed. Something failed after NEAR Intents settled. Write to us with the order id. The relayer keeps enough to reconstruct what happened, and the ETH is either at the relayer's Arbitrum address or in your pass, never lost.
  • You closed the browser. Open the pass page again; the last open order comes back from local storage. If you cleared it, the order id is enough to ask us.

Privacy hygiene, briefly

  • Use a receiving address that has never touched your other wallets. The site can make one.
  • Do not send the same round amount at the same time every day. Amount and timing are the two things an observer can correlate across the rails.
  • Do not post the pass or the receiving address next to your Zcash identity anywhere.

The full model, with what an observer at each point can and cannot see, is in Privacy.