Deployed addresses
The
UTY contract on both Avalanche and Katana uses the same address as UTY on Base. Similarly for yUTY. This is intentional — YieldPoint used CREATE3 to produce identical addresses across EVM chains for contracts deployed with the same deployer and salt, so you can hard-code one address per token and route by chain ID.Base (hub)
- Chain ID:
8453 - LayerZero EID:
30184
Base is the hub chain — all vault state, share price, and withdrawal queue management lives here. UTY is minted and redeemed directly on Base; cross-chain UTY operations go through the adapter. yUTY is minted and redeemed on Base (either directly or via cross-chain composer calls from spokes).
Avalanche (spoke)
- Chain ID:
43114 - LayerZero EID:
30106
Avalanche flat fees
Fees are charged by the spoke
yUTY VaultInterface on cross-chain deposit and redeem calls. They cover the per-message LayerZero gas cost for spoke-to-hub and hub-to-spoke routing. The fees are held as token balances in the VaultInterface contract and swept periodically by the operations role.
Katana (spoke)
- Chain ID:
747474 - LayerZero EID:
30375
Katana flat fees
Fees are charged by the spoke
yUTY VaultInterface on cross-chain deposit and redeem calls, same pattern as Avalanche.
Addresses sourced from the YieldPoint contracts repo at commit 730f599e on 2026-04-07. Re-sync when the contracts repo deploys new addresses.
Architectural layers
The YieldPoint contracts are organized into four architectural layers plus a LayerZero integration column. Each layer depends on the layer below it: Examples extend Extensions, which extend Core, which implements Interfaces. The LayerZero column sits in parallel with its own internal structure.Examples (deployable)
UTY
yUTY
Extensions (mixins)
UTYAsyncVaultV1Custodian
UTYAsyncVaultV1Instant
UTYAsyncVaultV1Ethena
ERC20AuthorizationUpgradeable
PausableWithPauserAuth
Core (abstract base)
UTYAsyncVaultV1
Interfaces
LayerZero integration
ShareOFTAdapter
UTYVaultComposer
OFTExtended
UTYVaultInterface
Vault inheritance
UTYAsyncVaultV1 (abstract base)
The base vault inherits from seven upgradeable OpenZeppelin and YieldPoint contracts:ERC4626UpgradeableERC20AuthorizationUpgradeable(EIP-3009)Ownable2StepUpgradeableAccessControlEnumerableUpgradeableUUPSUpgradeableReentrancyGuardUpgradeablePausableUpgradeable
UTY vault configuration
UTY extends UTYAsyncVaultV1 with two extensions plus an override:
UTYAsyncVaultV1Custodian— adds the custodian sweep,totalManagedAssetstracking,totalAssets()override, and emergency write-down viareduceTotalManagedAssets()UTYAsyncVaultV1Instant— adds the instant redemption path below a configurable thresholddonate()is overridden to revert
yUTY vault configuration
yUTY extends UTYAsyncVaultV1 directly, without the custodian or instant extensions:
- Async ERC-7540 vault without the
UTYAsyncVaultV1Instantextension - 18-decimal shares (no decimals offset; inflation defense via seed deposit)
LayerZero contracts
The LayerZero integration layer splits between hub-side and spoke-side contracts.Hub-side (Base)
ShareOFTAdapter— OFT adapter wrapping the vault’s share token. Uses the lockbox model: tokens sent cross-chain are locked in the adapter, not burned. InheritsPausableWithPauserAuthfor bridge-level pause control.UTYVaultComposer— handles incoming cross-chainlzComposemessages, executes vault operations on behalf of the caller, and manages refund recovery for failed composes. ExtendsVaultComposerSyncPatched(the YieldPoint patched version of the LayerZero base composer) andOwnable2Step.
Spoke-side (Avalanche, Katana)
OFTExtended— the UTY and yUTY token representation on spoke chains. Mint/burn model: tokens arriving from the hub are minted, tokens leaving are burned. ExtendsOFTUpgradeable,ERC20AuthorizationUpgradeable, andOwnable2StepUpgradeable.UTYVaultInterface— the spoke-chain proxy that makes yUTY deposits and redemptions feel local to a user on Avalanche or Katana. Charges flat fees on cross-chain calls (see Tokens and fees). UsesAccessControl, ERC-7201 namespaced storage, and maintains a per-user pending-claims counter that prevents double-spending of claim credits.
Key contracts
Example contracts
YieldPoint ships two concrete vault implementations ready for deployment:
Both contracts hardcode their names and symbols. Bonding period, deposit caps, and other parameters are configured per vault after deployment.