> For the complete documentation index, see [llms.txt](https://docs.hyperunit.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hyperunit.xyz/developers/api/generate-address.md).

# Generate Address

On Unit, protocol addresses are tied to the *destination* address, the recipient of the deposit or withdrawal.&#x20;

* 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 - above 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

| Asset      | Amount         |
| ---------- | -------------- |
| Bitcoin    | 0.0003 BTC     |
| Ethereum   | 0.007 ETH      |
| Solana     | 0.12 SOL       |
| Pump       | 5500 PUMP      |
| Fartcoin   | 55 FART        |
| Bonk       | 1,800,000 BONK |
| SPX6900    | 32 SPX6900     |
| Plasma     | 60 XPL         |
| Doublezero | 150 2Z         |
| Monad      | 450 MON        |
| Zcash      | 0.07 ZEC       |
| Avalanche  | 1.5 AVAX       |
| Virtual    | 25 VIRTUAL     |
| Ansem      | 60 ANSEM       |

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. &#x20;

### Endpoint

<mark style="color:green;">**`GET`**</mark> `/gen/:src_chain/:dst_chain/:asset/:dst_addr`

#### Request Parameters

<table><thead><tr><th width="125">Name</th><th width="82">Type</th><th width="103">Required</th><th>Description</th></tr></thead><tbody><tr><td>src_chain</td><td>String</td><td>Yes</td><td>source chain ("hyperliquid", "bitcoin", "solana", "ethereum", "plasma", "base", "avalanche")</td></tr><tr><td>dst_chain</td><td>String</td><td>Yes</td><td>destination chain ("hyperliquid", "bitcoin", "solana", "ethereum", "plasma", "base", "avalanche")</td></tr><tr><td>asset</td><td>String</td><td>Yes</td><td>asset symbol (e.g. "btc", "eth", "sol", "xpl")</td></tr><tr><td>dst_addr</td><td>String</td><td>Yes</td><td>destination address.</td></tr></tbody></table>

#### **Example Request**

The following generates a Bitcoin *deposit address* for a Hyperliquid user `0x99a5...9e1D`

```bash
curl -X GET https://api.hyperunit-testnet.xyz/gen/bitcoin/hyperliquid/btc/0x99a5F7202c4983a6f0Ca9d8F0526Fcd9d2be9e1D
```

#### **200: OK Successful Response**

```json
{
  "address": "tb1pwv4p3sgpy8g323mxsa5z4dnm0qnzlqcxk70gwdqvrmaf92psselsxcwf75",
  "signatures": {
    "field-node": "6FdyoeFFKkzT1fylI5xmMNSLMPC3aNICBL0Nj6KokYYpA9dqEpjdLoKBw4uGPDIdZEARc1QagKIirNzqoW5cNw==",
    "hl-node": "gkMJhxswzNqqMBx03wJy5zzHIcXyTrzfgb077F2CC4kDSyXqMPKE/HQOvaLpgMC21v3Fb/G8ujAuXafBIz2tVg==",
    "node-1": "6AbTFibJ7BQEXGFXRP5lROQ6w2aqVMDyy1xMLJL0mnyB1MeIPFIEPKbHKtAbsAdB37NhxSeL9iMKUkM5XnUnFg=="
  },
  "status": "OK"
}
```

#### **400: Error Response**

```json
{"error":"invalid request"}
```
