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

# Contract Addresses

Buoy is deployed on **HyperEVM mainnet (chain ID 999)** only. There is no public testnet deployment.

## HyperEVM Mainnet (chain ID 999)

| Contract                                                             | Address                                                                                      |
| -------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| Router                                                               | `0x4f4e4E94b94d40600b30100A7f8e5E312F59738e`                                                 |
| VaultFactory                                                         | `0x8C5E0Ef4eFBf57016D1B55d37e035f115D65A0a5`                                                 |
| BuoyVault implementation (v3, vaults created since 2026-09-30)       | `0x47D0e7AcA4246Da0334f97d6840cf8559d771663`                                                 |
| VaultCoreOps (HyperCore library linked into the v3 implementation)   | `0xf60Ad24C0773Dd1Ac4d7728b7daeE35D5FffA855`                                                 |
| VaultPolicy (deposit rules for v3 vaults)                            | `0xa5Ff5Ab8e8D2Ce7D059490f74942f03FB99905fD`                                                 |
| BuoyVault implementation v2 (vaults created 2026-09-17 … 2026-09-30) | `0xE412625761B8256832a018765dcf2Ef8e7b0397B`                                                 |
| BuoyVault implementation v1 (vaults created before 2026-09-17)       | `0x27CD383395f366be39b5a38A08dc98775D665bB0`                                                 |
| USDC                                                                 | `0xb88339CB7199b77E23DB6E890353E22632Ba630f`                                                 |
| Core deposit wallet (HyperCore bridge)                               | `0x6b9e773128f453f5c2c60935ee2de2cbc5390a24`                                                 |
| RewardsDistributor (referral rewards)                                | `0xcd5268f5DbcF35E9FA59bC0240A6b645A5e85e50` (also reported live by `GET /referrals/config`) |

All contracts are viewable on the explorer at `hyperevmscan.io/address/<address>`. Individual vault addresses are discoverable on-chain via the factory's registry (`allVaults`), or through the [REST API](/developers/rest-api.md) (`GET /vaults`).

Every vault is a minimal-proxy clone of the implementation that was current when it was created, so the three implementations above all have live vaults behind them. A vault's version is `BuoyVault.VAULT_VERSION()` (v2 and v3; v1 has no such function). Only v3 vaults expose `policy()` and consult the VaultPolicy — see [Deposit rules](/developers/smart-contract-integration.md#deposit-rules-vaultpolicy-vault-v3).

{% hint style="info" %}
**The Router is a UUPS proxy — its address is stable across upgrades.** The Factory address, however, changes when a new factory is deployed. The Router keeps previously used factories in a `legacyFactories` list so vaults created under them stay fully serviceable (settlement, user cancellations, Core→EVM bridging) until the admin retires the entry. If you resolve vaults yourself, treat "registered by the current **or** any legacy factory" as the definition of a real Buoy vault — that is exactly what the Router's internal check does.
{% endhint %}

## Network parameters

|               | Value                                                                        |
| ------------- | ---------------------------------------------------------------------------- |
| Chain ID      | `999`                                                                        |
| RPC           | `https://rpc.hyperliquid.xyz/evm` (the app uses `https://rpc.hypurrscan.io`) |
| Explorer      | [hyperevmscan.io](https://hyperevmscan.io)                                   |
| Native token  | HYPE (18 decimals)                                                           |
| USDC decimals | 6 on HyperEVM, 8 on HyperCore (converted by the contracts)                   |

## Live protocol parameters

These are configuration, not constants — always prefer reading them on-chain over hard-coding:

| Parameter                                                | Where to read it                                                                    | Current value                                                                                                                        |
| -------------------------------------------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| Deposit request fee                                      | `Router.nativeDepositFee()`                                                         | 0.01 HYPE                                                                                                                            |
| Withdrawal request fee                                   | `Router.nativeWithdrawFee()`                                                        | 0.01 HYPE                                                                                                                            |
| Request timeout (cancel window)                          | `Router.requestTimeout()`                                                           | 1800 s (30 min), floor `MIN_REQUEST_TIMEOUT` = 5 min                                                                                 |
| Vault creation seed                                      | `VaultFactory.VAULT_CREATION_SEED_USDC()`                                           | `1000001` (1.000001 USDC)                                                                                                            |
| Minimum deposit                                          | `BuoyVault.minDepositUsdc()`                                                        | 1 USDC by default, per-vault settable                                                                                                |
| Performance-fee cap                                      | `BuoyVault.MAX_PERFORMANCE_FEE_BPS`                                                 | 5000 bps (50%)                                                                                                                       |
| Referral fee — share of the performance fee (new vaults) | `VaultFactory.protocolFeeShareBps()` / per vault `BuoyVault.protocolFeeShareBps()`  | 1000 bps (10% of the fee), cap 5000. The product calls this the **referral fee**; the contracts keep the older `protocolFee*` naming |
| Referral payout rates                                    | `GET /referrals/config` (backend configuration)                                     | referrer 6000 bps, invitee 4000 bps of the referral fee                                                                              |
| Builder-fee ceiling a leader may grant                   | `BuoyVault.maxBuilderFeeRate()`                                                     | 100 decibps (0.1%) by default                                                                                                        |
| Minimum-leader-share ceiling (skin in the game)          | `VaultPolicy.MAX_MIN_LEADER_SHARE_BPS()`                                            | 5000 bps (50%)                                                                                                                       |
| A vault's deposit rules                                  | `VaultPolicy.configOf(vault)` → `(minLeaderShareBps, whitelistEnabled, maxTvlUsdc)` | per vault; all zero/false = no limits                                                                                                |

{% hint style="warning" %}
Always verify addresses against this page or the app itself. Never trust addresses from chat messages, DMs, or search results.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.buoy.finance/developers/contract-addresses.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
