-
Notifications
You must be signed in to change notification settings - Fork 6.5k
Add Surf Liquid adapter for Base chain with proper tvl #16382
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
Add Surf Liquid adapter for Base chain with proper tvl #16382
Conversation
- Add TVL calculation for Surf Liquid protocol on Base chain
|
The adapter at projects/surf-liquid exports TVL: |
Add Surf Liquid AdapterThis PR adds a new adapter for Surf Liquid protocol on Base chain. Changes:
Testing:
|
|
please fill out the pr desc with metadata |
|
every user has their own vault contract where they deposit USDC and receive LP tokens through Morpho vaults. Every 12 hours, the user’s funds are moved into new vaults, and they receive new LP tokens... Add Surf Liquid AdapterThis PR adds a new adapter for Surf Liquid protocol on Base chain. Changes:
Testing:
Protocol Information:
Methodology:Counts the balances of the listed tokens in the Surf liquid vault contract on Base chain. Start Date:
|
|
I want to communicate with your team regarding my project. How can I contact your team for this? |
|
Here or discord |
|
So far this setup worked for one vault which in our use case is just one user. Every use in surfliquid.com deploys their own vault which can be tracked by this - factory contract -0x1D283b668F947E03E8ac8ce8DA5505020434ea0E You can check this on basecan and you will see all the user vaults, each vault has funds depostited which is part of total tvl but they get staked to new vaults every 12 hrs so our lp tokens keep changing. How should I approach setting this up? |
|
I am still waiting for your response. So far this setup worked for one vault which in our use case is just one user. Every use in surfliquid.com deploys their own vault which can be tracked by this - factory contract -0x1D283b668F947E03E8ac8ce8DA5505020434ea0E You can check this on basecan and you will see all the user vaults, each vault has funds depostited which is part of total tvl but they get staked to new vaults every 12 hrs so our lp tokens keep changing. How should I approach setting this up? |
|
So far this setup worked for one vault which in our use case is just one user. Every use in surfliquid.com deploys their own vault which can be tracked by this - factory contract -0x1D283b668F947E03E8ac8ce8DA5505020434ea0E You can check this on basecan and you will see all the user vaults, each vault has funds depostited which is part of total tvl but they get staked to new vaults every 12 hrs so our lp tokens keep changing. How should I approach setting this up? |
|
Please verify the contract at 0x1D283b668F947E03E8ac8ce8DA5505020434ea0E on basescan https://basescan.org/address/0x1D283b668F947E03E8ac8ce8DA5505020434ea0E |
|
and try to be patient - no need to make the same comment 3 times |
|
Hello, DefiLlama team can you remove surfliquid listing for now as it is showing 0 tvl. We were just testing earlier, and we’re currently verifying the factory contract. |
|
We cant remove the project but we can mark it as dead. When was surfliquid deprecated? |
|
Hello DefiLlama team, Also, our APY calculation is done in backend where our database is involved, how can we provide code for this? We need to show SurLiquid platform apy. |
|
Hello DefiLlama team, |
|
How to get a list of deployed vaults? How to know which morpho vaults they deposit to? Yield info should be in this repo https://github.com/DefiLlama/yield-server |
|
We rebalance every 12 hours in the base Morpho vaults, focusing on those with the highest APR and at least $1M in liquidity. We’re currently working on integrating more platforms from different chains, but that will come later. |
|
Hello DefiLlama team, |
|
How to get a list of deployed vaults? How to know which morpho vaults they deposit to? Using on chain functions |
|
I'm trying to work out how to write an adapter for you |
|
method- 1 🔹 Step 1: Get all deployed vaults for a user Use your factory contract’s read function: function getOwnerVaults(address owner) external view returns (address[] memory); 🔹 Step 2: For each vault, find its currently active Morpho vault Each UserVault contract exposes: function currentVault() external view returns (address); 🔹 Step 3 (optional): Get all vaults the UserVault can deposit into Each UserVault also has: function getAllowedVaults() external view returns (address[] memory); method 2 🔹 Step 1: Get the total number of vaults The factory keeps a counter for how many vaults it has deployed. function getTotalVaults() external view returns (uint256); 🔹 Step 2: Loop through each vault index to fetch info vaultAddress (address) : owner (address) : admin (address) : chainId (uint256) : salt (bytes32) : deployedAt (uint256) : } 🔹 Step 3: For each vault, find its currently active Morpho vault Each UserVault contract exposes: function currentVault() external view returns (address); |
|
Does this look right? About 41k$ #16569 |
|
verified contract of random user Vault contract- https://basescan.org/address/0xa733cb0ad802b92703bcf676e8feae46c28fce39#code And for factory contract please refer to the blocksout verified contract - https://base.blockscout.com/address/0x1D283b668F947E03E8ac8ce8DA5505020434ea0E?tab=contract_abi |
|
Yes, the TVL looks correct. From our factory contract, you can fetch the total number of users — each deployed vault counts as one user. We also need to display the total managed volume. This can be derived from the keyless bot admin account, which rebalances funds every 12 hours. Its address is: this is our admin address 0xEeEE7d713aDf6f408dd3637987191B35E3A872b0 |
|
volume should be added here https://github.com/DefiLlama/dimension-adapters |
|
where should I need to add the volume? |
|
i am waiting your response |
|
I sent the link in the comment above |
|
in which folder i add the volume |
|
"Protocol Information: SurfLiquid is an AI-powered DeFi platform designed to automate and optimise yield generation across the most profitable opportunities in decentralised finance. Category: AI Agent, Yield " Soon we are going to launch in other chains in partnership with other platforms like Silo, Euler on chains like Avalanche and Arbitrum, so this description will be a better representation of surfliquid |
|
i am waiting your response |
|
This will be updated today |
|
I am sending you volume script. Also we would like to show our platform APR listed here. We have 3 tiers here depending on the money user has deposited. We have Standard tier which gives 10%, Advanced tier which gives 14% and Pro tier gives 18% APR. Whatever returns we get from Morpho vaults, in the form of native USDC APY + reward tokens, if it does not reach the threshold APR we have set for that tier then we transfer the equivalent usdc amount of surf tokens. Our backend code is dependent on data we store in database, do tell us best way to verify these and display it on our defillama page. |
|
please make a PR to https://github.com/DefiLlama/dimension-adapters |
|
DefiLlama/dimension-adapters#4410 |
|
i am waiting your response |
|
hello defilama team .I still waiting your response from your side .. and i also want to display the total number of users on the your dashboard |
|
Be patient please |
|
okay sir |
|
Hello DeFiLlama team, is there any update regarding my concern? |
|
Not yet!!!!!! |
|
Hello DeFiLlama team, is there any update regarding my concern? |
|
Hello DefiLlama team, I have submitted the total volume and total user vaults, but I haven’t received any update from your side yet. Could you please let me know by when it will be updated on your side? |

NOTE
Please enable "Allow edits by maintainers" while putting up the PR.
package-lock.jsonfile as part of your changes, we use lockfileVersion 2, and most use v1 and using that messes up our CIName (to be shown on DefiLlama):
Twitter Link:
List of audit links if any:
Website Link:
Logo (High resolution, will be shown with rounded borders):
Current TVL:
Treasury Addresses (if the protocol has treasury)
Chain:
Coingecko ID (so your TVL can appear on Coingecko, leave empty if not listed): (https://api.coingecko.com/api/v3/coins/list)
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):
Token address and ticker if any:
Category (full list at https://defillama.com/categories) *Please choose only one:
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):