# Send LI.FI Skill to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "lifi-skill",
    "name": "LI.FI Skill",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/fabriziogianni7/lifi-skill",
    "canonicalUrl": "https://clawhub.ai/fabriziogianni7/lifi-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/lifi-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=lifi-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "lifi-skill",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-04T19:38:31.026Z",
      "expiresAt": "2026-05-11T19:38:31.026Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=lifi-skill",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=lifi-skill",
        "contentDisposition": "attachment; filename=\"lifi-skill-2.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "lifi-skill"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/lifi-skill"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/lifi-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/lifi-skill",
    "agentUrl": "https://openagent3.xyz/skills/lifi-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/lifi-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/lifi-skill/agent.md"
  }
}
```
## Documentation

### CRITICAL RULES (read first)

ONLY use curl to call the LI.FI API. NEVER use web_search, web_fetch, or any other tool.
ONLY use the endpoints documented below. Do NOT guess or invent URLs.
Base URL is https://li.quest/v1/. No other base URL.
ALWAYS include auth header: "x-lifi-api-key: $LIFI_API_KEY" (double quotes, dollar sign — shell expands it).
ALWAYS tell the user the quote is provided by LI.FI.
Default slippage: 10% (0.10). If the user has a custom slippage in their strategy (via defi_get_strategy), use that instead. The agent can also adjust dynamically per-transaction if the user requests it.
Default deadline: 10 minutes.
ALWAYS add &skipSimulation=true to all /v1/quote requests. Our EIP-7702 delegated wallets have on-chain code that breaks LI.FI's simulation.
NEVER construct ERC-20 approve calldata (hex) yourself. ALWAYS use the defi_approve or defi_approve_and_send tools.
ALL swaps, bridges, and DeFi token operations MUST go through LI.FI. No exceptions. No manual DEX interactions.

### Transaction Links

After every transaction broadcast, always provide a clickable block explorer link:

EVM: [View tx](https://basescan.org/tx/0xHASH) — use the correct explorer (etherscan.io, basescan.org, arbiscan.io, polygonscan.com, optimistic.etherscan.io)
Sui: [View tx](https://suiscan.xyz/txblock/{txDigest})

### Sui

Sui chain ID: 9270000000000000. Use this for fromChain and toChain in LI.FI quote requests when the user wants Sui (e.g. fromChain=9270000000000000&toChain=9270000000000000 for same-chain Sui swap).
LI.FI supports Sui for same-chain swaps and bridging to/from EVM and Solana.
For Sui quotes, use the user's suiAddress from defi_get_wallet as fromAddress.
Execute Sui quotes with defi_send_sui_transaction — pass the transaction bytes (hex) from the LI.FI quote. Do not use defi_send_transaction or defi_approve_and_send for Sui.
Sui does not use ERC-20 approvals; there is no approval step for Sui swaps.

### GET /v1/chains — List supported chains

curl -s --request GET \\
  --url https://li.quest/v1/chains \\
  --header "x-lifi-api-key: $LIFI_API_KEY"

Use for: listing chains, testing connectivity. If user asks for a test, use this.

### GET /v1/tokens — List tokens on chains

curl -s --request GET \\
  --url 'https://li.quest/v1/tokens?chains=8453' \\
  --header "x-lifi-api-key: $LIFI_API_KEY"

Params: chains (comma-separated chain IDs).

### GET /v1/quote — Get swap/bridge quote with tx data

curl -s --request GET \\
  --url 'https://li.quest/v1/quote?fromChain=8453&toChain=8453&fromToken=ETH&toToken=USDC&fromAddress=0xYOUR_ADDRESS&fromAmount=100000000000000&slippage=0.10&skipSimulation=true' \\
  --header "x-lifi-api-key: $LIFI_API_KEY"

Params: fromChain, toChain, fromToken, toToken, fromAddress, toAddress (optional), fromAmount (in wei), slippage (decimal, e.g. 0.10 = 10%), skipSimulation=true (ALWAYS include).

Returns: estimate (with toAmount, toAmountMin, approvalAddress) and transactionRequest (ready for wallet submission).

After presenting a quote to the user, always include the estimated output amount, fees, and slippage. Get the user's wallet address with defi_get_wallet and use it as fromAddress in the quote.

Executing the quote

Check if ERC-20 approval is needed: If the quote's transactionRequest.value is "0x0" AND estimate.approvalAddress exists, the swap/bridge is using an ERC-20 token that needs approval first.

If approval IS needed: Use defi_approve_and_send with:

token: the action.fromToken.address from the quote
spender: the estimate.approvalAddress from the quote
approveAmount: the action.fromAmount from the quote (or omit for unlimited)
to, value, data, gasLimit: from the quote's transactionRequest



If approval is NOT needed (native ETH swap, value > 0x0): Use defi_send_transaction with the quote's transactionRequest fields: to, value, data, chainId, and gasLimit (ALWAYS pass gasLimit from the quote).

NEVER construct approve calldata hex yourself. The defi_approve and defi_approve_and_send tools handle ABI encoding correctly.

Sui: For quotes where fromChain or toChain is Sui, use defi_send_sui_transaction with the quote's transaction bytes. No approval step.

### POST /v1/advanced/routes — Get multiple route options

curl -s --request POST \\
  --url https://li.quest/v1/advanced/routes \\
  --header 'Content-Type: application/json' \\
  --header "x-lifi-api-key: $LIFI_API_KEY" \\
  --data '{
  "fromChainId": 8453,
  "fromAmount": "100000000000000",
  "fromTokenAddress": "0x0000000000000000000000000000000000000000",
  "toChainId": 8453,
  "toTokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "options": {
    "slippage": 0.10,
    "order": "RECOMMENDED"
  }
}'

### POST /v1/quote/contractCalls — Multi-step contract calls (BETA)

curl -s --request POST \\
  --url https://li.quest/v1/quote/contractCalls \\
  --header 'Content-Type: application/json' \\
  --header "x-lifi-api-key: $LIFI_API_KEY" \\
  --data '{
  "fromChain": 10,
  "fromToken": "0x4200000000000000000000000000000000000042",
  "fromAddress": "0xYOUR_ADDRESS",
  "toChain": 1,
  "toToken": "ETH",
  "toAmount": "100000000000001",
  "contractCalls": []
}'

### GET /v1/status — Check transfer status

curl -s --request GET \\
  --url 'https://li.quest/v1/status?txHash=0xYOUR_TX_HASH&fromChain=8453' \\
  --header "x-lifi-api-key: $LIFI_API_KEY"

Pass fromChain to speed up the lookup.

### GET /v1/tools — List available bridges and exchanges

curl -s --request GET \\
  --url 'https://li.quest/v1/tools?chains=8453' \\
  --header "x-lifi-api-key: $LIFI_API_KEY"

### Docs

LLM docs: https://docs.li.fi/llms.txt
OpenAPI: https://gist.githubusercontent.com/kenny-io/7fede47200a757195000bfbe14c5baee/raw/725cf9d4a6920d5b930925b0412d766aa53c701c/lifi-openapi.yaml
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: fabriziogianni7
- Version: 2.0.1
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-04T19:38:31.026Z
- Expires at: 2026-05-11T19:38:31.026Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/lifi-skill)
- [Send to Agent page](https://openagent3.xyz/skills/lifi-skill/agent)
- [JSON manifest](https://openagent3.xyz/skills/lifi-skill/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/lifi-skill/agent.md)
- [Download page](https://openagent3.xyz/downloads/lifi-skill)