Developer reference
Abyss Vaults and ATokens
You can find the contracts repository here https://github.com/abyss-protocol/abyss-vaults.git
Table of Contents
Overview
Architecture
Core Components
Vault Registry
Vault
Vault Supply
Vault Withdrawal
Vault Incentives
Overview
Abyss vaults allow depositors to earn interest on their assets by lending liquidity to DeepBook margin traders, while holding their share of the vault in a fungible way. Users deposit supported assets, receive yield-bearing ATokens that track their proportional claim, and benefit from automated compounding of incentives. Users can then use their ATokens freely across the DeFi ecosystem.
Architecture
Core Components
Manages vault registration, package versioning, and vault-specific permissions. Enforces one vault per underlying asset type. Enables admins to enable or disable a package version. Verifies the validity of VaultManagerCap and IncentiveManagerCap.
One can retrieve the vault identifier based on the underlying asset type using the public function:
The Abyss Vault manages core user operations. It handles user deposits and withdrawals, issues ATokens, synchronizes with the underlying margin pool, and manages incentive compounding.
Vault Supply
The vault supply takes assets and mints the corresponding amount of ATokens, representing shares in the total value of the vault. Yield is redistributed proportionally to the number of shares held. Integrators of Abyss vaults can set the referral parameter to their SupplyReferral object ID to earn referral fees.
Vault Withdrawal
The vault withdrawal burns the given amount of ATokens and returns the corresponding amount of assets to the user. Withdrawals honor a first-in, first-out accounting modelβif the vault is mid-cycle on incentive compounding, the contract checkpoints earnings before transferring funds to guarantee everyone receives their share.
Package Addresses
Mainnet
Package
Abyss Vaults
1
Sui Mainnet
0x90a75f641859f4d77a4349d67e518e1dd9ecb4fac079e220fa46b7a7f164e0a5
Objects
Vault Registry
1
Sui Mainnet
0xfac1800074e8ed8eb2baf1e631e8199ccce6b0f6bfd50b5143e1ff47c438aecf
Abyss Supplier Cap
1
Sui Mainnet
0x3d0faab3953525d243275b39cbed465cb310fe2d4dd2c15428b8f7cf5962c2c0
Vaults
SUI
0x670c12c8ea3981be65b8b11915c2ba1832b4ebde160b03cd7790021920a8ce68
0x53041c6f86c4782aabbfc1d4fe234a6d37160310c7ee740c915f0a01b7127344
DEEP
0xec54bde40cf2261e0c5d9c545f51c67a9ae5a8add9969c7e4cdfe1d15d4ad92e
0x1d723c5cd113296868b55208f2ab5a905184950dd59c48eb7345607d6b5e6af7
WAL
0x09b367346a0fc3709e32495e8d522093746ddd294806beff7e841c9414281456
0x38decd3dbb62bd4723144349bf57bc403b393aee86a51596846a824a1e0c2c01
USDC
0x86cd17116a5c1bc95c25296a901eb5ea91531cb8ba59d01f64ee2018a14d6fa5
0xba473d9ae278f10af75c50a8fa341e9c6a1c087dc91a3f23e8048baf67d0754f
ATokens
aSUI
0x90a75f641859f4d77a4349d67e518e1dd9ecb4fac079e220fa46b7a7f164e0a5::abyss_vault::AToken<0x2::sui::SUI>
https://d3cny4im7ppv5.cloudfront.net/aSUI.svg
DBUSDC
0x90a75f641859f4d77a4349d67e518e1dd9ecb4fac079e220fa46b7a7f164e0a5::abyss_vault::AToken<0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC>
https://d3cny4im7ppv5.cloudfront.net/aUSDC.svg
aDEEP
0x90a75f641859f4d77a4349d67e518e1dd9ecb4fac079e220fa46b7a7f164e0a5::abyss_vault::AToken<0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP>
https://d3cny4im7ppv5.cloudfront.net/aDEEP.svg
aWAL
0x90a75f641859f4d77a4349d67e518e1dd9ecb4fac079e220fa46b7a7f164e0a5::abyss_vault::AToken<0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL>
https://d3cny4im7ppv5.cloudfront.net/aWAL.svg
Typescript reference
Resources
Last updated