Generate Address
Generate an address for deposit/withdrawal.
On Unit, protocol addresses are tied to the destination address, the recipient of the deposit or withdrawal.
- For deposits, the protocol address is a Unit-derived address on the source chain (Bitcoin, Ethereum, or Solana) assigned to a user's Hyperliquid address.
- For withdrawals, the protocol address is a Unit-derived Hyperliquid address assigned to a user's address on the destination chain.
Once a protocol address is created, all future transfers received by this address that meet the minimum amount are credited to the respective destination address. The minimum amount ensures the deposit/withdrawal is sufficiently beyond the network fees associated with the operation.
Minimum Amount
These are the minimum amounts for each supported asset and network. Transfers also need the required confirmations.
| Asset | Network | Minimum Amount |
|---|---|---|
| 0.0003 BTC | ||
| 0.007 ETH | ||
| 0.12 SOL | ||
| 60 XPL | ||
| 450 MON | ||
| 5,500 PUMP | ||
| 55 FART | ||
| 32 SPX | ||
| 1,800,000 BONK | ||
| 150 2Z | ||
| 400 ANSEM | ||
| 0.07 ZEC | ||
| 25 VIRTUAL | ||
| 1.5 AVAX |
Transactions that previously fell below minimums but now meet the new thresholds will be automatically reprocessed. Transactions that are below the minimum amount are unable to be processed.
Endpoint
GET /gen/:src_chain/:dst_chain/:asset/:dst_addr
Request Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| src_chain | String | Yes | source chain ("hyperliquid", "bitcoin", "solana", "ethereum", "plasma", "base", "avalanche") |
| dst_chain | String | Yes | destination chain ("hyperliquid", "bitcoin", "solana", "ethereum", "plasma", "base", "avalanche") |
| asset | String | Yes | asset symbol (e.g. "btc", "eth", "sol", "xpl") |
| dst_addr | String | Yes | destination address. |
Example Request
The following generates a Bitcoin deposit address for a Hyperliquid user 0x99a5...9e1D
curl -X GET https://api.hyperunit-testnet.xyz/gen/bitcoin/hyperliquid/btc/0x99a5F7202c4983a6f0Ca9d8F0526Fcd9d2be9e1D200: OK Successful Response
{
"address": "tb1pwv4p3sgpy8g323mxsa5z4dnm0qnzlqcxk70gwdqvrmaf92psselsxcwf75",
"signatures": {
"field-node": "6FdyoeFFKkzT1fylI5xmMNSLMPC3aNICBL0Nj6KokYYpA9dqEpjdLoKBw4uGPDIdZEARc1QagKIirNzqoW5cNw==",
"hl-node": "gkMJhxswzNqqMBx03wJy5zzHIcXyTrzfgb077F2CC4kDSyXqMPKE/HQOvaLpgMC21v3Fb/G8ujAuXafBIz2tVg==",
"node-1": "6AbTFibJ7BQEXGFXRP5lROQ6w2aqVMDyy1xMLJL0mnyB1MeIPFIEPKbHKtAbsAdB37NhxSeL9iMKUkM5XnUnFg=="
},
"status": "OK"
}400: Error Response
{"error":"invalid request"}
