โ† All skills
Tencent SkillHub ยท Communication & Collaboration

Swap and bridge across 35+ chains with LI.FI

Cross-chain token swaps and bridges via the LI.FI protocol. Get quotes, execute transfers, track progress, and compose DeFi operations across 35+ blockchains.

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Cross-chain token swaps and bridges via the LI.FI protocol. Get quotes, execute transfers, track progress, and compose DeFi operations across 35+ blockchains.

โฌ‡ 0 downloads โ˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
README.md, SKILL.md, package.json

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.2

Documentation

ClawHub primary doc Primary doc: SKILL.md 22 sections Open source page

/lifi โ€” Cross-Chain Swaps & Bridges

LI.FI is a cross-chain bridge and DEX aggregation protocol. It finds optimal routes across 35+ blockchains, comparing dozens of bridges (Stargate, Hop, Across, etc.) and DEXes (Uniswap, SushiSwap, 1inch, etc.) to execute token swaps and cross-chain transfers.

Arguments: $ARGUMENTS

Parse the arguments: First positional arg: Action โ€” swap, bridge, track, routes, zap, or a natural language request Remaining args: Details (token names, amounts, chains, tx hashes, etc.) If no arguments are provided, ask the user what they want to do.

Key Concepts

Base URL: https://li.quest/v1 The API returns transactionRequest objects (to, data, value, gasLimit, gasPrice) ready to sign โ€” provide these to the agent's wallet Native token address: 0x0000000000000000000000000000000000000000 (for ETH, MATIC, BNB, etc.) Amounts are always in the token's smallest unit (wei): 1 ETH = 1000000000000000000 (18 decimals), 1 USDC = 1000000 (6 decimals) Optional API key via x-lifi-api-key header for higher rate limits (not required)

Discovery Endpoints

GET /v1/chains โ€” List supported blockchains curl -s "https://li.quest/v1/chains" # Optional: ?chainTypes=EVM or ?chainTypes=SVM GET /v1/tokens โ€” List supported tokens curl -s "https://li.quest/v1/tokens?chains=1,137" # Optional: chainTypes, minPriceUSD GET /v1/token โ€” Get specific token details curl -s "https://li.quest/v1/token?chain=1&token=USDC" # chain (required): chain ID or name. token (required): address or symbol GET /v1/connections โ€” Check available swap routes curl -s "https://li.quest/v1/connections?fromChain=1&toChain=137&fromToken=0x0000000000000000000000000000000000000000" # Optional: toToken, chainTypes, allowBridges GET /v1/tools โ€” List available bridges and DEXes curl -s "https://li.quest/v1/tools" # Returns {bridges: [{key, name}], exchanges: [{key, name}]}

Quote & Swap Endpoints

GET /v1/quote โ€” Get optimal route + transaction data The primary endpoint for initiating any swap or bridge. curl -s "https://li.quest/v1/quote?\ fromChain=1&toChain=137\ &fromToken=0x0000000000000000000000000000000000000000\ &toToken=0x0000000000000000000000000000000000000000\ &fromAddress=0xYOUR_WALLET\ &fromAmount=1000000000000000000\ &slippage=0.03" Required: fromChain, toChain, fromToken, toToken, fromAddress, fromAmount Optional: toAddress, slippage (decimal, e.g. 0.03 = 3%), integrator, order (RECOMMENDED|FASTEST|CHEAPEST|SAFEST), allowBridges, allowExchanges Returns: action, estimate (toAmount, fees, executionDuration), and transactionRequest (to, data, value, gasLimit). GET /v1/status โ€” Track cross-chain transfer curl -s "https://li.quest/v1/status?txHash=0xTX_HASH" # Optional: bridge, fromChain, toChain Returns: status (NOT_FOUND, PENDING, DONE, FAILED), substatus (COMPLETED, PARTIAL, REFUNDED), source/destination tx details.

Advanced Routing

POST /v1/advanced/routes โ€” Compare multiple route options curl -s -X POST "https://li.quest/v1/advanced/routes" \ -H "Content-Type: application/json" \ -d '{ "fromChainId": "1", "toChainId": "137", "fromTokenAddress": "0x0000000000000000000000000000000000000000", "toTokenAddress": "0x0000000000000000000000000000000000000000", "fromAddress": "0xYOUR_WALLET", "fromAmount": "1000000000000000000", "options": {"order": "RECOMMENDED"} }' Required: fromChainId, toChainId, fromTokenAddress, toTokenAddress, fromAddress, fromAmount Optional: toAddress, slippage, options.order Returns: routes[] array โ€” each route has steps, estimated output, fees, and execution time. POST /v1/advanced/stepTransaction โ€” Get tx data for a route step curl -s -X POST "https://li.quest/v1/advanced/stepTransaction" \ -H "Content-Type: application/json" \ -d '{ ...step object from routes response... }' Pass the entire step object from a route. Returns transactionRequest ready to sign. POST /v1/quote/contractCalls โ€” Zaps (multi-action DeFi composition) curl -s -X POST "https://li.quest/v1/quote/contractCalls" \ -H "Content-Type: application/json" \ -d '{ "fromChain": "1", "toChain": "137", "fromToken": "0x0000000000000000000000000000000000000000", "toToken": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", "fromAddress": "0xYOUR_WALLET", "fromAmount": "1000000000000000000", "contractCalls": [ { "toContractAddress": "0xTARGET_CONTRACT", "toContractCallData": "0xENCODED_FUNCTION_CALL", "toContractGasLimit": "200000" } ] }' Required: fromChain, toChain, fromToken, toToken, fromAddress, fromAmount, contractCalls[] Optional: slippage

Gas Information

GET /v1/gas/prices โ€” Gas prices across all chains curl -s "https://li.quest/v1/gas/prices" GET /v1/gas/suggestion/{chainId} โ€” Recommended gas params for a chain curl -s "https://li.quest/v1/gas/suggestion/1"

Workflow 1 โ€” Swap or Bridge Tokens

Use this for any "swap X for Y" or "bridge tokens to chain" request. Identify parameters from the user's request: Source chain and token (e.g., "ETH on Ethereum") Destination chain and token (e.g., "USDC on Polygon") Amount in human-readable form (e.g., "1.5 ETH") Wallet address (the agent's wallet or user-specified) Look up token addresses if the user gave symbols: curl -s "https://li.quest/v1/token?chain=1&token=USDC" Extract address and decimals from the response. Convert amount to smallest unit: Multiply human amount by 10^decimals 1.5 ETH (18 decimals) โ†’ 1500000000000000000 100 USDC (6 decimals) โ†’ 100000000 Get a quote: curl -s "https://li.quest/v1/quote?fromChain=1&toChain=137&fromToken=0x0000000000000000000000000000000000000000&toToken=0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359&fromAddress=0xWALLET&fromAmount=1500000000000000000&slippage=0.03" Present summary to user (REQUIRED before returning tx data): Swap: 1.5 ETH (Ethereum) โ†’ ~2,850 USDC (Polygon) Route: Stargate bridge โ†’ Uniswap V3 Fees: ~$2.50 (gas) + $0.50 (bridge) Estimated time: ~2 minutes Slippage: 3% If ERC20 token: Check if the LiFi contract has sufficient allowance. The spender address is transactionRequest.to from the quote response. If allowance < fromAmount, guide the user to approve the token first. Return transactionRequest for signing by the agent's wallet. If cross-chain: Explain that bridging is asynchronous โ€” the source chain tx will confirm first, then the bridge delivers tokens to the destination. Offer to track with Workflow 3.

Workflow 2 โ€” Compare Routes

Use when the user wants to see options or find the best deal. Gather parameters (same as Workflow 1, steps 1-3). Request multiple routes: curl -s -X POST "https://li.quest/v1/advanced/routes" \ -H "Content-Type: application/json" \ -d '{ "fromChainId": "1", "toChainId": "137", "fromTokenAddress": "0x0000000000000000000000000000000000000000", "toTokenAddress": "0x0000000000000000000000000000000000000000", "fromAddress": "0xWALLET", "fromAmount": "1000000000000000000", "options": {"order": "RECOMMENDED"} }' Present comparison table: # Route Output Fees Time Bridge 1 Stargate โ†’ Uniswap V3 2,850 USDC $3.00 2 min Stargate 2 Hop โ†’ SushiSwap 2,845 USDC $2.80 5 min Hop 3 Across โ†’ 1inch 2,848 USDC $3.20 3 min Across User picks a route. Extract the chosen route's steps. Get transaction data for each step: curl -s -X POST "https://li.quest/v1/advanced/stepTransaction" \ -H "Content-Type: application/json" \ -d '{ ...step object... }' Return transactionRequest for signing.

Workflow 3 โ€” Track a Transfer

Use when the user wants to check status of a cross-chain transfer. Get details from user: transaction hash, source chain, destination chain. Check status: curl -s "https://li.quest/v1/status?txHash=0xTX_HASH&fromChain=1&toChain=137" Interpret and report status: NOT_FOUND โ€” Transaction not yet indexed. Wait a minute and retry. PENDING โ€” Transfer in progress. Suggest polling every 30 seconds. DONE with substatus COMPLETED โ€” Transfer complete. Report destination tx hash. DONE with substatus PARTIAL โ€” User received the bridged token on the destination chain but NOT the final target token (e.g., got USDC.e instead of native USDC). The user may need to swap manually. DONE with substatus REFUNDED โ€” Transfer failed and funds were returned to the source address. FAILED โ€” Transfer failed. Report error details and advise the user to check the source chain tx on a block explorer. If PENDING: Offer to poll periodically. Wait 30 seconds between checks.

Workflow 4 โ€” Zap (Contract Call Composition)

Use for multi-step DeFi operations like "bridge ETH to Polygon and deposit into Aave" or "swap to USDC and stake in a vault." Understand the multi-step operation โ€” identify: Source chain/token/amount Destination chain/token (the intermediate token before contract calls) Target contract and function to call on the destination Gather contract call data: toContractAddress: The destination contract (e.g., Aave lending pool) toContractCallData: ABI-encoded function call (e.g., deposit(address,uint256,address,uint16)) toContractGasLimit: Gas limit for the contract call (e.g., "200000") Request zap quote: curl -s -X POST "https://li.quest/v1/quote/contractCalls" \ -H "Content-Type: application/json" \ -d '{ "fromChain": "1", "toChain": "137", "fromToken": "0x0000000000000000000000000000000000000000", "toToken": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", "fromAddress": "0xWALLET", "fromAmount": "1000000000000000000", "contractCalls": [{ "toContractAddress": "0xTARGET", "toContractCallData": "0xENCODED_CALL", "toContractGasLimit": "200000" }] }' Present summary showing all operations in the zap (bridge + swap + deposit/stake/etc.). Return transactionRequest for signing.

Workflow 5 โ€” Discovery

Use when the user asks "what chains are supported?", "what tokens can I swap?", "what bridges are available?", etc. Determine what the user wants to know: Supported chains โ†’ GET /v1/chains Tokens on a chain โ†’ GET /v1/tokens?chains={chainId} Token details โ†’ GET /v1/token?chain={chainId}&token={symbol} Available routes โ†’ GET /v1/connections?fromChain={id}&toChain={id} Available bridges/DEXes โ†’ GET /v1/tools Gas prices โ†’ GET /v1/gas/prices or GET /v1/gas/suggestion/{chainId} Call the appropriate endpoint. Present results in a readable table format. For large responses (e.g., all tokens), summarize the most relevant results and offer to filter further.

Safety Protocol

These rules are mandatory โ€” never skip them.

Address Validation

ALWAYS verify fromAddress is a valid hex address: starts with 0x, 42 characters total, valid hex characters NEVER send to the zero address (0x0000000000000000000000000000000000000000) as toAddress โ€” this burns funds permanently. The zero address is ONLY valid as a fromToken/toToken to represent native tokens.

Amount Validation

ALWAYS convert human-readable amounts to the token's smallest unit before calling the API Check the token's decimals field (ETH=18, USDC=6, WBTC=8, DAI=18) Formula: amount_wei = human_amount ร— 10^decimals Amounts must be positive integers (no decimals, no negatives, no zero) Maximum 78 digits (uint256 max) If the user says "1 ETH", send 1000000000000000000, NOT 1

Slippage Validation

Default to 0.03 (3%) if the user doesn't specify WARN the user if slippage > 3% โ€” explain they may receive significantly fewer tokens REJECT slippage > 50% (0.5) โ€” this is almost certainly an error Slippage must be between 0 and 1 (0% to 100%)

ERC20 Token Approvals

ALWAYS check token allowance before executing ERC20 swaps If allowance < fromAmount, guide the user to approve the token first NEVER approve unlimited amounts (MaxUint256 / 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) unless the user explicitly requests it โ€” approve only the needed amount The spender address is transactionRequest.to from the quote response

Transaction Presentation

ALWAYS present a human-readable summary before returning any transactionRequest data The summary must include: tokens and amounts, route/bridge used, estimated fees, estimated time, slippage setting NEVER return raw transaction data without explanation

Cross-Chain Safety

Explain that cross-chain bridges are non-atomic โ€” funds may be in transit for minutes to hours After submitting a source chain tx, always offer to track the transfer status If a transfer shows PARTIAL status, explain the user received bridged tokens but not the final target token

No Route Found

If a quote returns no route: suggest trying different tokens, a smaller amount, or an alternative chain pair Use GET /v1/connections to verify the route is supported before retrying

Error Handling

ErrorCauseActionHTTP 429Rate limitedWait 30s, retry with exponential backoff (30s โ†’ 60s โ†’ 120s). Suggest user set LIFI_API_KEY for higher limits.No route foundRoute unsupported or amount too small/largeCheck /v1/connections for valid pairs. Suggest different tokens, smaller amount, or alternative chains.Slippage errorPrice moved beyond toleranceIncrease slippage (e.g., 0.03 โ†’ 0.05) and retry. Warn user about the trade-off.Insufficient balanceWallet lacks fundsReport the shortfall amount. Check balance with the agent's wallet tools.Transaction revertedPrice moved, liquidity drained, or gas too lowExplain possible causes. Suggest retrying with higher slippage or gas.PARTIAL completionBridge delivered token but not final swapUser has the bridged asset on the destination chain. They can swap it manually or retry.REFUNDEDBridge failed, funds returnedConfirm refund on source chain. Suggest trying a different bridge via allowBridges.Invalid addressMalformed hex addressVerify address format: 0x prefix, 42 characters, valid hex.

Chain Quick Reference

ChainIDNative TokenEthereum1ETHPolygon137MATICArbitrum One42161ETHOptimism10ETHBSC56BNBBase8453ETHAvalanche43114AVAXFantom250FTMzkSync Era324ETHGnosis100xDAIScroll534352ETHLinea59144ETHBlast81457ETHMode34443ETHSolana1151111081099710SOL For the full list of supported chains, call GET /v1/chains. Native token address on all EVM chains: 0x0000000000000000000000000000000000000000

Category context

Messaging, meetings, inboxes, CRM, and teammate communication surfaces.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
2 Docs1 Config
  • SKILL.md Primary doc
  • README.md Docs
  • package.json Config