> For the complete documentation index, see [llms.txt](https://docs.hyperflash.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hyperflash.xyz/staking/staking-docs/contract-interfaces-and-abi.md).

# Contract Interfaces and ABI

## Contract Addresses & ABI

Below are the core contracts used by HyperFlash.

***

#### StakingManager

* Testnet: TBD
* Mainnet: `0x275B60596eFd03CE1C66b5F151a66F48B3E0FB44`
* Notes: Entry point for staking/unstaking and rate queries

***

#### FHYPE (ERC20)

* Testnet: TBD
* Mainnet: `0x57Ac5ee128A76531d7940966CaB290D5D8de9Cd4`
* Notes: fHYPE token (18 decimals), ERC20 + permit

***

#### ValidatorManager

* Testnet: TBD
* Mainnet: `0x8B723fb70cF103184a9D1e3f8B2b6E5175e6B360`
* Notes: Validator lifecycle and delegation target

***

#### PauserRegistry

* Testnet: TBD
* Mainnet: `0xD9BA155187975734FdA44cdF41C5268Bad9BeF20`
* Notes: Pause control and authorized contracts

***

ABI downloads:

* StakingManager ABI:

{% file src="/files/Bro8sN2QDwM4eesd6Zrj" %}

* FHYPE ABI:&#x20;

{% file src="/files/zbcc0EXNQKxSYFMUOZHk" %}

* ValidatorManager ABI:&#x20;

{% file src="/files/qd55qO93RS9dJ84xRpiH" %}

* PauserRegistry ABI:&#x20;

{% file src="/files/aQyD5DDh52hJbjCXV2Tn" %}

Once our second audit concludes, the contracts will be verified on HyperEVM explorers.

#### On-chain functions

Developers interact primarily with `StakingManager` and the `FHYPE` ERC20.

* Staking

```solidity
function stake(address validatorChoice) external payable;
```

Pass `address(0)` to use the default validator, or an active validator address on first stake.

* Unstaking

```solidity
function queueWithdrawal(uint256 fHYPEAmount) external;
function confirmWithdrawal(uint256 withdrawalId) external;
function batchConfirmWithdrawals(uint256[] calldata withdrawalIds) external;
```

Queue, wait for `withdrawalDelay`, then confirm to receive HYPE. A 0.1% unstake fee (default 10 bps) goes to `treasury`.

* Exchange rate and conversions

```solidity
function getExchangeRate() external view returns (uint256);
function HYPEToFHYPE(uint256 hypeAmount) external view returns (uint256);
function fHYPEToHYPE(uint256 fHYPEAmount) external view returns (uint256);
```

Returns HYPE per fHYPE scaled to 1e18. Conversions don’t include the unstake fee.

* FHYPE token (ERC20)

```solidity
function balanceOf(address account) external view returns (uint256);
function decimals() external pure returns (uint8); // 18
```

fHYPE uses 18 decimals and supports standard ERC20 operations.
