> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Frax Ether (frax-ether)

> Frax Finance's liquid staking derivative. Two tokens: frxETH (pegged 1:1 to ETH) and sfrxETH (yield-bearing ERC-4626 vault token that accrues staking yield).

Frax Finance's liquid staking derivative. Two tokens: frxETH (pegged 1:1 to ETH) and sfrxETH (yield-bearing ERC-4626 vault token that accrues staking yield).

| Fact | Value |
| - | - |
| Category | Liquid staking |
| Family | none |
| Namespace | `FraxEther` on ethereum |
| Chains | ethereum |

## What it offers

* **submitAndDeposit**: Stake ETH and deposit directly into sfrxETH vault (one-step)
* **deposit**: Deposit frxETH into sfrxETH vault
* **redeem**: Redeem sfrxETH shares for frxETH

## Notes

* sfrxETH is ERC-4626 compliant (same interface as Yearn V3, pufETH)
* submitAndDeposit() is payable - send ETH as msg.value. One-step ETH -> sfrxETH
* frxETH does not earn yield on its own - must be deposited into sfrxETH vault
* Approve frxETH to sfrxETH contract before calling deposit()

## Its names in a program

On Ethereum, `FraxEther` is a namespace: its contracts need no import.

```ts theme={null}
function main() {
  // Ethereum's frxETHMinter, `0xbAFA44EFE7901E04E39Dad13167D089C559c1138`.
  require(FraxEther.FrxETHMinter != 0);
}
```

## Deployments

| Chain | Contract | Address | In a program |
| - | - | - | - |
| [Ethereum](https://docs.eco.com/sauce-sdk/reference/chains/ethereum.md) | frxETHMinter | `0xbAFA44EFE7901E04E39Dad13167D089C559c1138` | `FraxEther.FrxETHMinter` |
| [Ethereum](https://docs.eco.com/sauce-sdk/reference/chains/ethereum.md) | sfrxETH | `0xac3E018457B222d93114458476f3E3416Abbe38F` | `FraxEther.SfrxETH` |

## ABI

### `FrxETHMinterABI`

`import FrxETHMinterABI from "./protocols/frax-ether/FrxETHMinterABI.json";` Speaks for: frxETHMinter.

* `submitAndDeposit(address recipient) payable returns (uint256 shares)`

### `SfrxETHABI`

`import SfrxETHABI from "./protocols/frax-ether/SfrxETHABI.json";` Speaks for: sfrxETH.

* `deposit(uint256 assets, address receiver) returns (uint256 shares)`
* `redeem(uint256 shares, address receiver, address owner) returns (uint256 assets)`
* `convertToShares(uint256 assets) view returns (uint256)`
* `convertToAssets(uint256 shares) view returns (uint256)`
* `balanceOf(address account) view returns (uint256)`

## Next steps

* [Protocols](https://docs.eco.com/sauce-sdk/reference/protocols.md): the other protocols, by what they do.
* [Protocols and tokens](https://docs.eco.com/sauce/names.md): calling a contract by its namespace, or through its ABI.
* [Glossary](https://docs.eco.com/sauce/glossary.md): the words these pages use, in plain terms.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.