erc_4626.vault_protocol.frax.constants
Documentation for eth_defi.erc_4626.vault_protocol.frax.constants Python module.
Frax vault deployment constants and product metadata.
Module Attributes
Scale used by Fraxlend's |
|
Maximum value accepted by Fraxlend's timelock-controlled |
|
Family-level Fraxlend listing copy. |
|
Family-level Fraxlend detail-page note. |
|
Reviewed FraxlendPairDeployer contracts recovered from |
|
Reviewed Frax staking vault deployments by chain. |
|
All reviewed Frax staking vault addresses, for legacy address-only lookups. |
|
Address-specific descriptions for reviewed Ethereum Frax staking vaults. |
Classes
Human-readable metadata for a reviewed Frax staking vault. |
- FRAXLEND_FEE_PRECISION = 100000
Scale used by Fraxlend’s
feeToProtocolRatefield, where 100,000 is 100%.
- FRAXLEND_MAX_PROTOCOL_FEE_RAW = 50000
Maximum value accepted by Fraxlend’s timelock-controlled
changeFee().
- FRAXLEND_SHORT_DESCRIPTION = 'Earn interest by lending assets to an isolated Fraxlend borrowing market.'
Family-level Fraxlend listing copy.
- FRAXLEND_NOTES = "Fraxlend pairs are isolated lending markets: lenders supply the pair's asset token and borrowers post its collateral token. Interest and collateral risk are not pooled across pairs. Redemptions depend on available, unborrowed liquidity, and lenders can absorb bad debt if liquidated collateral does not fully cover unhealthy loans. The share price internalises borrower interest and Fraxlend's protocol fee. See the [Fraxlend technical documentation](https://docs.frax.com/protocol/subprotocols/fraxlend/technical)."
Family-level Fraxlend detail-page note.
- FRAXLEND_DEPLOYERS_BY_CHAIN: dict[int, frozenset[eth_typing.evm.HexAddress]] = {1: frozenset({'0x7ab788d0483551428f2291232477f1818952998c', '0xaa913c26dd7723fcae9dbd2036d28171a56c6251', '0xeb8816baeb70690660ce6c0eda2b07a21493e664', '0xf767a82a188305461b6f01a7706f7bc0ba941fff'}), 42161: frozenset({'0xc70cc721d19dc7e627b81feacb6a357fb11200af'})}
Reviewed FraxlendPairDeployer contracts recovered from
LogDeployevents.FraxlendPair.DEPLOYER_ADDRESS()must resolve to one of these addresses before a vault is attributed to Frax. This excludes third-party Fraxlend forks while retaining a single ABI probe per candidate vault.
- FRAX_STAKING_VAULTS_BY_CHAIN: dict[int, frozenset[eth_typing.evm.HexAddress]] = {1: frozenset({'0x03cb4438d015b9646d666316b617a694410c216d', '0xa663b02cf0a4b149d2ad41910cb81e23e1c41c32', '0xcf62f905562626cfcdd2261162a51fd02fc9c5b6'})}
Reviewed Frax staking vault deployments by chain.
These contracts share generic linear-reward vault implementations that are not unique to Frax, so they are deliberately classified by address.
sFRAX documentation: https://docs.frax.finance/frax-v3-100-cr-and-more/sfrax
sfrxUSD deployments: https://docs.frax.com/frxusd/stake-and-unstake-supported-networks
- FRAX_STAKING_VAULT_ADDRESSES = frozenset({'0x03cb4438d015b9646d666316b617a694410c216d', '0xa663b02cf0a4b149d2ad41910cb81e23e1c41c32', '0xcf62f905562626cfcdd2261162a51fd02fc9c5b6'})
All reviewed Frax staking vault addresses, for legacy address-only lookups.
- class FraxStakingVaultMetadata
Bases:
objectHuman-readable metadata for a reviewed Frax staking vault.
Frax staking contracts use a generic linear-rewards ERC-4626 design, so their product identity and lifecycle status cannot be inferred safely from the ABI alone. Keep this copy beside the address allowlist that establishes their Frax provenance.
- Parameters
short_description – One-line product summary for vault listings.
notes – Longer Markdown explanation for the vault detail page.
- FRAX_STAKING_VAULT_METADATA_BY_CHAIN: dict[int, dict[eth_typing.evm.HexAddress, eth_defi.erc_4626.vault_protocol.frax.constants.FraxStakingVaultMetadata]] = {1: {'0x03cb4438d015b9646d666316b617a694410c216d': FraxStakingVaultMetadata(short_description='Legacy sFRAX vault that distributed Frax protocol yield to staked FRAX.', notes="**Legacy sFRAX deployment.** This is an earlier Staked Frax ERC-4626 contract. Frax's current [sFRAX documentation](https://docs.frax.finance/frax-v3-100-cr-and-more/sfrax) identifies `0xA663B02CF0a4b149d2aD41910CB81e23e1c41c32` as the canonical sFRAX deployment. Treat this address as a legacy product when comparing active Frax staking vaults."), '0xa663b02cf0a4b149d2ad41910cb81e23e1c41c32': FraxStakingVaultMetadata(short_description='Stake FRAX to receive weekly Frax protocol yield through sFRAX.', notes='sFRAX is a non-rebasing ERC-4626 vault whose redeemable FRAX per share rises as Frax distributes protocol earnings in weekly reward cycles. Frax states that shares remain withdrawable for their pro-rata FRAX at all times. The vault targets the US Federal Reserve IORB benchmark rate, but this target is not a guaranteed return. See the [Frax sFRAX documentation](https://docs.frax.finance/frax-v3-100-cr-and-more/sfrax).'), '0xcf62f905562626cfcdd2261162a51fd02fc9c5b6': FraxStakingVaultMetadata(short_description="Stake frxUSD in Frax's benchmark-strategy savings vault to earn automatically compounded yield.", notes="sfrxUSD is a non-rebasing ERC-4626 savings vault whose redeemable frxUSD per share rises as yield accrues. Frax's Benchmark Yield Strategy can allocate across carry trades, DeFi AMOs and Treasury or other real-world-asset sources as market conditions change. Frax documents no lock-up and no staking or unstaking fee. See the [sfrxUSD staking overview](https://docs.frax.com/frxusd/stake-and-unstake-overview).")}}
Address-specific descriptions for reviewed Ethereum Frax staking vaults.
Sources: