Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avant Protocol :: avUSD supply adapter #13239

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

spider-g
Copy link
Contributor

NOTE

Please enable "Allow edits by maintainers" while putting up the PR.


  • If you would like to add a volume adapter please submit the PR here.
  • If you would like to add a liquidations adapter, please refer to this readme document for details.
  1. Once your adapter has been merged, it takes time to show on the UI. If more than 24 hours have passed, please let us know in Discord.
  2. Sorry, We no longer accept fetch adapter for new projects, we prefer the tvl to computed from blockchain data, if you have trouble with creating a the adapter, please hop onto our discord, we are happy to assist you.
  3. Please fill the form below only if the PR is for listing a new protocol else it can be ignored/replaced with reason/details about the PR
  4. For updating listing info It is a different repo, you can find your listing in this file: https://github.com/DefiLlama/defillama-server/blob/master/defi/src/protocols/data2.ts, you can edit it there and put up a PR
  5. Do not edit/push package-lock.json file as part of your changes, we use lockfileVersion 2, and most use v1 and using that messes up our CI
  6. No need to go to our discord and announce that you've created a PR, we monitor all PRs and will review it asap

Name (to be shown on DefiLlama):

Avant Protocol

Twitter Link:

https://x.com/AvantProtocol

List of audit links if any:

https://docs.avantprotocol.com/security/audits

Website Link:

https://www.avantprotocol.com

Logo (High resolution, will be shown with rounded borders):

https://www.avantprotocol.com/images/icon-avant.svg

Current TVL:

6.86M

Treasury Addresses (if the protocol has treasury)
Chain:

Avalanche

Coingecko ID (so your TVL can appear on Coingecko, leave empty if not listed): (https://api.coingecko.com/api/v3/coins/list)

avant-usd

Coinmarketcap ID (so your TVL can appear on Coinmarketcap, leave empty if not listed): (https://api.coinmarketcap.com/data-api/v3/map/all?listing_status=active,inactive,untracked&start=1&limit=10000)
Short Description (to be shown on DefiLlama):

Avant is a DeFi platform established in June 2024 with the mission to create a more inclusive financial system through a DeFi-powered stable-value token. The platform introduces avUSD, a stable-value token, and savUSD, its staked, yield-bearing counterpart.

Token address and ticker if any:
Category (full list at https://defillama.com/categories) *Please choose only one:

Basis Trading

Oracle Provider(s): Specify the oracle(s) used (e.g., Chainlink, Band, API3, TWAP, etc.):
Implementation Details: Briefly describe how the oracle is integrated into your project:
Documentation/Proof: Provide links to documentation or any other resources that verify the oracle's usage:
forkedFrom (Does your project originate from another project):
methodology (what is being counted as tvl, how is tvl being calculated):
Github org/user (Optional, if your code is open source, we can track activity):

@llamabutler
Copy link

The adapter at projects/avant exports TVL:

avax                      6.85 M

total                    6.85 M 

@g1nt0ki
Copy link
Member

g1nt0ki commented Jan 25, 2025

hi @spider-g , thanks for the PR but I am bit confused, your webpage makes no mention of basis trading. It talks about defi yield, but no info on what strategy is used. Can you please provide some info on how your app works at the moment, where the yield is coming from?

@g1nt0ki g1nt0ki self-assigned this Jan 25, 2025
@g1nt0ki
Copy link
Member

g1nt0ki commented Jan 25, 2025

also, can you explain these two transactions:

you send USDC from the mint to an EOA, then mint again using the same USDC:

https://snowscan.xyz/tx/0xb7d300d3e4e41e5ee9b5a8fe08707c03460bf6bedcc9b19be4860e871e934bea
https://snowscan.xyz/tx/0xb0476a208be15f01665374fbd44a532786e7995e8443f4175df05f69b97659fc

@spider-g
Copy link
Contributor Author

a. Avant caters to niches similar to Ethena and Resolve, which is why the Basis Trading category was chosen. However, if you feel there’s a more appropriate category, we’d be happy to hear your suggestions.

b. There’s an ongoing engineering task to develop a metrics dashboard that will display a breakdown of where assets are deployed. The goal is to strike a balance between transparency and protecting sensitive strategy details to avoid being copied. The trading team has diversified collateral deployment across nearly 20 venues for yield generation. A few examples include dYdX, Hyperliquid, and F(x). While we prefer not to make this information too accessible, we emphasize that there’s no intent to obscure operations—savvy individuals can track where deposits are sent with relative ease.

c. avUSD is designed to maintain a 1:1 ratio with its collateral, USDC. Once collateral is deployed and begins generating yield, the trading team evaluates the value of these deployments weekly and adjusts the avUSD supply by minting or burning as needed to maintain this balance. Transactions like the ones you referenced are likely part of this balancing process, where avUSD is minted to reflect gains against the existing USDC in the treasury. While it might be ideal to back these mints by withdrawing profits from active strategies, doing so would introduce significant complexity and costs. Funds would need to be withdrawn from strategies (which may have cooldown periods), bridged, swapped, and then used for minting, only to return to the original strategies afterward. The current process achieves the same practical result far more efficiently.

@g1nt0ki
Copy link
Member

g1nt0ki commented Jan 26, 2025

a. We cant assign basis trading as category because it is still unclear where the yield is coming from unlike the two projects you mentioned.

b. sorry, but you cant have it both ways, either you protect the yield source, you share on chain proof of reserves which we track as tvl.

c. This reasoning falls short when USDC is sent back and forth between same addresses multiple times the same day and avUD supply keeps increasing.
image

@spider-g
Copy link
Contributor Author

Those are great questions, and we appreciate you being thorough. Apologies if our previous responses were not clear enough. Let’s dive into more details:

a. The trading team’s response on yield generation:
"Our yield primarily comes from farming DeFi incentive structures. It includes:
Staking yield
Re-staking yield
Trading fees (LP)
Traditional farming yield
Points farming yield
Funding rate yield"
By reviewing the Fireblocks vault structure, one can confirm that funds have been deployed to various protocols generating yield. In addition to the previously mentioned dYdX, Hyperliquid, and F(x), these include Gearbox, Pendle, Minterest, Fluid, and Dolomite. As previously stated, the intent is not to obscure anything, but we aim to avoid making it overly easy to be copycatted. After all, much of the platform's value lies in identifying and executing good yield-bearing strategies. If needed, we’re happy to provide addresses for these protocols so you can verify balances and transactions individually.

b. On tracking TVL and proof of reserves:
We would love to adopt the TVL method and fetch everything instantly on-chain. However, some protocols use internal (sub) accounting setups, making it challenging to retrieve this information directly without relying on their frontends. A few of these protocols don’t even offer APIs, which could otherwise serve as a fallback for pricing positions. Additionally, we understand that your documentation states fetching from external APIs is not desirable.

We are currently working with tools like Octav to help us track and price TVL in a more automated way. However, this process is still ongoing. As previously mentioned, not all TVL is easily accessible on-chain, so for now, we are relying on manual processes to bridge the gap.

c. On the transactions and supply adjustments:
Thank you for pointing out that specific day. While we previously explained the weekly supply adjustment process, this was a separate matter.

Avant secured an investment round of approximately $6 million USD, which was deployed into strategies while the platform was still under development. During this time, funds that belonged to the protocol and were generating yield were sitting outside the avUSD ecosystem. Before the public launch, and once the Fireblocks structure was fully configured, we opted to migrate all those deployed positions into avUSD reserves-owned vaults rather than unwinding the positions.

To balance the newly migrated collateral, we minted avUSD accordingly. Since the full amount of USDC required for minting wasn’t available in one step, we cycled a smaller idle chunk (~$330k) several times until the correct balance was achieved. This followed the same balancing procedure as the weekly mint/burn adjustments.

Not a single avUSD was minted without being fully backed. The reserves were first fulfilled by transferring and consolidating collateral into Fireblocks vaults, and only then was the supply adjusted to reflect the backing. While this approach may not have been the most straightforward, it ensured that the process was secure and efficient. The end result is identical to unwinding, swapping, bridging, and redeploying, but without the inefficiencies of performing this across nearly 20 strategies on multiple chains.

We hope this explanation addresses all your concerns. Please let us know if there are any other questions!

@waynebruce0x waynebruce0x self-assigned this Jan 27, 2025
@waynebruce0x
Copy link
Collaborator

Can you send a fireblock address so we can look into it in more detail? We're concerned that the current implementation is vulnerable to manipulation since your mint/burn process is relatively opaque

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants