Miraix LI.FI Earn Agent
Use this skill for Miraix AI yield actions powered by LI.FI Earn and Composer when the user wants an agent to move from intent to deposit.
Relevant product surfaces:
- Earn discovery API:
POST /api/earn/chat - Composer quote API:
POST /api/earn/quote - Miraix UI:
LI.FI Earn -> USDC Vault Discovery -> Composer Deposit Flow
When to use it
- The user says things like:
Put 1 USDC into the safest vault on BaseFind the best USDC vault on ArbitrumDeposit 5 USDC into the best LI.FI Earn vaultUse Agentic Wallet to deposit into a vault
- The user wants an agent to recommend a vault and prepare a deposit instead of manually comparing vault cards.
- The user wants to know where deposited funds went and which receipt token they now hold.
Workflow
- Extract:
- amount in
USDCif provided - preferred chain (
Base,Arbitrum,Ethereum) if provided - risk mode if provided (
safe,balanced,degen)
- amount in
- Call the Miraix Earn discovery endpoint:
curl -sS -X POST https://app.miraix.fun/api/earn/chat \
-H 'Content-Type: application/json' \
-d '{"message":"Put 1 USDC into the safest vault on Base"}'
-
Base the answer on the returned JSON. The most important fields are:
messagethoughtsdata.filtersdata.action.modedata.action.summarydata.action.rationaledata.action.selectedVaultIdquote.vaults
-
Treat the first recommended vault as the default execution target unless the user asks to compare options first.
-
If the user wants to execute now, prepare the Composer deposit quote:
curl -sS -X POST https://app.miraix.fun/api/earn/quote \
-H 'Content-Type: application/json' \
-d '{
"chainId":8453,
"vaultAddress":"<vault-address>",
"walletAddress":"<wallet-address>",
"fromAmount":"1000000",
"fromTokenAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}'
-
For execution:
- Prefer an embedded or Agentic Wallet connected in Miraix.
- Execute approval first if
estimate.approvalAddressis present and allowance is insufficient. - Execute the Composer deposit transaction.
-
After a successful deposit, explain:
- which vault received the funds
- which chain the funds were deposited on
- which receipt token or position token was received
- that the receipt token remains in the same wallet
Output guidance
- Keep the answer action-oriented.
- When recommending a vault, include:
- vault name
- chain
- protocol
- APY
- why it was selected
- When deposit execution succeeds, use plain language:
Deposited 1 USDC into Spark USDC Vault on Base. Expected receipt: sparkUSDC in the same wallet.
- Explain receipt tokens in simple language:
sparkUSDC is the vault receipt token that represents the deposited position.
- If live discovery falls back to seeded vaults, say that clearly instead of pretending the list is live.
- If gas is insufficient, say that the wallet needs more native gas token on the target chain before the deposit can proceed.
