FlashFi
  • ⚑ FlashFi
  • βš’οΈTechnical Deep Dive
    • πŸ”„ Swapping
    • Bridging
    • πŸ”—Staking
  • Privy Implementation
  • Contribution To Covalent Agent Kit
  • πŸš€Future Plans
Powered by GitBook
On this page
  • Overview
  • Fetching the Best Swap Route
  • Executing the Swap
  • Why Use FlashFi for Swaps?
  1. Technical Deep Dive

πŸ”„ Swapping

Overview

FlashFi enables seamless cross-chain swaps using Squid Router, allowing users to exchange tokens across different blockchains. For example, you can swap USDC on Ethereum to ETH on Arbitrum with minimal effort.

How It Works

  1. Fetch Swap Route – Queries Squid Router for the best swap route.

  2. Prepare Transaction – Builds the transaction using Ethers.js.

  3. Execute Swap – Sends the transaction and returns a confirmation.


Fetching the Best Swap Route

FlashFi first queries Squid Router’s API to determine the best path for swapping.

tsCopyEditconst getRoute = async (params: any) => {
  const result = await axios.post(
    "https://apiplus.squidrouter.com/v2/route",
    params,
    { headers: { "x-integrator-id": integratorId } }
  );
  return result.data.route;
};

Executing the Swap

Once the route is determined, the transaction is signed and sent.

tsCopyEditconst tx = await signer.sendTransaction({
  to: transactionRequest.target,
  data: transactionRequest.data,
  value: transactionRequest.value,
});
await tx.wait();
console.log("Transaction Hash:", tx.hash);

FlashFi also provides an AxelarScan link to track transaction status.

tsCopyEditconst axelarScanLink = "https://axelarscan.io/gmp/" + tx.hash;
console.log(`Check details: ${axelarScanLink}`);

Why Use FlashFi for Swaps?

βœ… Cross-Chain Compatibility – Swap assets between different blockchains. βœ… Optimized Routes – Uses Squid Router for efficient swaps. βœ… AI-Powered Execution – Simple text-based commands trigger complex DeFi operations. βœ… Secure Transactions – Signed with Privy’s server wallets for safety.

PreviousTechnical Deep DiveNextBridging

Last updated 3 months ago

βš’οΈ