Developer reference

Abyss Vaults and ATokens

You can find the contracts repository here https://github.com/abyss-protocol/abyss-vaults.gitarrow-up-right

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

Name
Version
Chain
Address

Abyss Vaults

1

Sui Mainnet

0x90a75f641859f4d77a4349d67e518e1dd9ecb4fac079e220fa46b7a7f164e0a5

Objects

Name
Version
Chain
Object ID

Vault Registry

1

Sui Mainnet

0xfac1800074e8ed8eb2baf1e631e8199ccce6b0f6bfd50b5143e1ff47c438aecf

Abyss Supplier Cap

1

Sui Mainnet

0x3d0faab3953525d243275b39cbed465cb310fe2d4dd2c15428b8f7cf5962c2c0

Vaults

Asset
Vault ID
Margin Pool ID

SUI

0x670c12c8ea3981be65b8b11915c2ba1832b4ebde160b03cd7790021920a8ce68

0x53041c6f86c4782aabbfc1d4fe234a6d37160310c7ee740c915f0a01b7127344

DEEP

0xec54bde40cf2261e0c5d9c545f51c67a9ae5a8add9969c7e4cdfe1d15d4ad92e

0x1d723c5cd113296868b55208f2ab5a905184950dd59c48eb7345607d6b5e6af7

WAL

0x09b367346a0fc3709e32495e8d522093746ddd294806beff7e841c9414281456

0x38decd3dbb62bd4723144349bf57bc403b393aee86a51596846a824a1e0c2c01

USDC

0x86cd17116a5c1bc95c25296a901eb5ea91531cb8ba59d01f64ee2018a14d6fa5

0xba473d9ae278f10af75c50a8fa341e9c6a1c087dc91a3f23e8048baf67d0754f

ATokens

Asset
Type
Icon URL

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