Vault Withdrawal Helper
Legacy Hanji liquidity vault (HJLP)
Etherlink

Withdraw your HJLP from the legacy Hanji liquidity vault on Etherlink. The normal withdrawal fails because the vault's price feeds have gone stale on-chain. This page attaches fresh signed prices to your withdrawal so it can go through. You sign with your own wallet, and this page never sees your keys.

01Connect your wallet

    02Withdraw

    Get paid inPick one token
    HJLP
    Price protection
    If prices move against you by more than this before your transaction lands, the transaction is cancelled and only the network fee is spent.
    Your estimated payout
    –

    ALTPrefer the block explorer?

    You can send exactly the same transaction from the official Etherlink explorer. This page generates the values to paste. The signed prices are only valid for about 60 seconds, so set the explorer up first, then generate and paste.

    1. Open the vault's Write as Proxy tab on explorer.etherlink.com ↗. Click Connect wallet there and pick the wallet that holds your HJLP, on the Etherlink network.
    2. Scroll to removeLiquidity (number 36) and click it to open the form. Don't press the ×10¹⁸ buttons: every value below is already in the right units.
    3. Back here, enter your wallet address (it's filled in automatically if you're connected), then press Generate fresh values. A 60-second timer starts.
    4. Copy each value into the field with the same name. For priceUpdateData, paste the long 0x… text into the single bytes box, with no brackets. Leave Send native XTZ empty.
    5. Press Write and confirm in your wallet before the timer runs out. The explorer's Simulate button can check it first, but only if you have time left.
    6. The transaction page should show Success, and the tokens arrive in your wallet. If it failed because time ran out, just generate again. You only lose a tiny network fee (about 0.01 XTZ).

    If your wallet lets you send a transaction with custom hex data, it's even quicker: send 0 XTZ to the vault address with the Raw data value shown after generating.

    INFOHow it works & safety

    Why the usual withdrawal fails. The vault values its four assets (WXTZ, WBTC, WETH, USDC) with Pyth oracle prices and refuses to act on any price older than 60 seconds. Nobody pushes the WBTC/USD price to Etherlink any more, so every withdrawal reverts with StalePrice. The contract does accept fresh signed prices inside the withdrawal transaction itself, and that is what this page uses.

    Where prices come from. They come from Hanji's public Pyth relay (api.hanji.io), the same one the Hanji app uses. The prices are signed by the Pyth/Wormhole network and checked on-chain, so the relay can't fake them. At worst it fails, and nothing happens.

    What this page checks before your wallet opens. The vault contract hasn't been upgraded since this tool was reviewed, the vault isn't paused, and the exact transaction succeeds in a simulation from your address. Your minimum payout is written into the transaction, and the contract enforces it.

    What it never does. It never asks for token approvals, private keys or seed phrases, and never sends XTZ (the oracle fee is 0). It has no backend, no tracking and no third-party scripts. It's one static HTML file you can read.

    Pick USDC if you can. The vault holds very little WXTZ, so large WXTZ withdrawals fail. A token is greyed out when the vault can't cover your withdrawal in it.