With a vault, you choose the assets, strategies, allocation, and fees—and you can rebalance positions or rescue funds at any time. From the end-user’s perspective, it’s just deposit and withdraw.
Vault Creation Requirements
Before you deploy a vault, make sure you meet the following requirements. These details are often the source of confusion for new builders.Network
DeFindex operates on Stellar Mainnet and Stellar Testnet. The two networks are completely independent and use different contract addresses and token types.Tokens
On Testnet, DeFindex strategies use a test USDC issued by the Blend Capital testnet deployment — referred to here as BlendUSDC. This is not Soroswap or regular USDC; it is a separate test token you must obtain from testnet.blend.capital. On Mainnet, strategies use real USDC (Circle) and other well-known tokens.Token addresses
For a full list of deployed strategy contract addresses, see the Contract Deployments section.
Getting Testnet Tokens
You need testnet tokens to deploy and interact with a vault on testnet:-
XLM (for fees): Use Friendbot to fund your testnet account.
-
BlendUSDC (required for USDC vaults on testnet):
- Go to testnet.blend.capital.
- Connect your Freighter wallet (switch to Testnet in wallet settings first).
- Click “Faucet” or use the asset menu to add a BlendUSDC trustline and receive test tokens.
-
CETES (required for CETES vaults on testnet):
- Same place as BlendUSDC: on testnet.blend.capital, add a trustline for the test CETES token and use the faucet. It is a test token in a Blend testnet pool, not issued by Etherfuse.
Why BlendUSDC? On testnet, DeFindex strategies are deployed against the Blend Capital testnet pools, which use their own test USDC. Real Circle USDC does not support large amounts minting on Stellar Testnet.
Funding Requirements
A minimum first deposit of 1001 units (in the asset’s smallest denomination — stroops) of your vault’s underlying asset is required immediately after deployment.- On the first deposit, the vault locks 1000 shares as an inflation-attack defense mechanism.
- Example: For a USDC vault (7 decimals), 1001 stroops = 0.0001001 USDC — practically free.
- Example: For an XLM vault (7 decimals), 1001 stroops = 0.0001001 XLM — also negligible.
Funds are not automatically invested on deposit. After the first deposit you must perform a first rebalance to allocate funds across strategies.
A first deposit of 20 USDC prevents historical APY endpoint from having approximation errors
Step 1: Assign Vault Roles, Fees, and Upgradability
Before deployment, you must configure the following roles (each tied to an address):- Manager – primary owner, manages settings, upgrades, and other roles (use a secure wallet, ex. multisig, cold or MPC)
- Emergency Manager – rescues funds and pauses risky strategies (use a hot wallet with fast access or automate it for faster response)
- Rebalance Manager – allocates funds across strategies (use a hot wallet or it can be managed by a third party)
- Fee Receiver – collects performance fees (use a secure, dedicated wallet)
All four roles must be assigned. You may use the same address for multiple roles, but this is not recommended for production.
Fees
- Fees are expressed in basis points (1 bp = 0.01%).
- The Vault Fee is applied to strategy earnings and assigned to the Fee Receiver.
- Maximum allowed fee: 9,000 bps (90% of yield). The vault contract rejects any value above 9,000 with
MaximumFeeExceeded(error 106).
Upgradability
- Choose whether this vault can be upgraded after deployment.
- If enabled, you can migrate to a new vault version in the future.
- Your users’ funds and positions remain unaffected — no action required on their end.
Step 2: Select Assets and Strategies
DeFindex offers curated and audited strategies, currently live for:- Blend Autocompound – Fixed Pool: USDC, EURC, XLM
- Blend Autocompound – Etherfuse Pool: USDC, CETES, USTRY, TESOURO
Need support for additional pools? Just ping us on Discord.
Step 3: Deploy the Vault
You can deploy your Vault in two ways:- Using the Console (no code — skip the next steps if you use it)
- Using the API (Advanced)
Create your vault in the Console
The guided flow at console.defindex.io deploys the vault and then manages it: deposits, rebalancing, fees, and roles in one place.
Step 4: Do a First Deposit (Skip if using the Console)
A minimum first deposit of 1001 units of your supported asset is required.- Why?
- 1001 units will be permanently locked in the Vault for security.
- Example:
If you are depositing USDC, this equals just 0.0001001 USDC — practically nothing!
Step 5: First Rebalance (Skip if using the Console)
After deployment, perform the first rebalance to define allocations across chosen strategies. This may be a bit confusing right? but How the vault is going to know how to distribute the funds across the different strategies? This step only need to be done once. You have two ways to make the first rebalance: using the API, or using stellar-cli.Using API
Make sure you have anAPI_KEY to call the API. And then, call the rebalance function
VAULT_ADDRESS is the address of the recently deployed vault, JWT_TOKEN is the API key, the MANAGER_OR_REBALANCE_MANAGER is what you defined when creating the vault. The strategy address is the one you want to invest on. For a list of all the addresses you can check -> here.
This will return you an unsigned XDR, that can be signed using your preferred method of signing. One simple method could be using Stellar Laboratory. Simply copy and paste the unsigned XDR and sign it.
Using stellar-cli
First, you need to setup your keys, make sure the rebalancer manager role defined previously is the one you are going to setup. For example, you can set it up using secret key by:~/public/<network>.contracts.json.
And that’s all!