agentleFS
EskyeeEskyee/agentbot-opensource/skills/symbiosis/SKILL.md

symbiosis

Skill17 starsChanged 5 months agoMITView on GitHub

Cross-chain token swaps across 54+ blockchains via Symbiosis protocol. Use when the user wants to swap or bridge tokens between any chains — Base, Ethereum, Polygon, Arbitrum, Optimism, BNB Chain, Avalanche, Solana, Bitcoin, TON, Tron, and 40+ more. Supports any-to-any token swaps with automatic routing. Uses Bankr Submit API to execute transactions.

2 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use Symbiosis when the user wants to:

    line 21
  2. Distinctive:

    Run the quote script:

    line 35
  3. Distinctive:

    Run the swap script:

    line 47
  4. Very specific:

    Use 0x0000000000000000000000000000000000000000 as address for native gas tokens (ETH, POL, BNB, AVAX, etc.).

    line 98
  5. Very specific:

    Approve: If source token needs approval, script submits an ERC20 approve transaction via POST https://api.bankr.bot/agent/submit

    line 145
  6. Distinctive:

    All transactions are submitted through the Bankr Submit API using the user's Bankr wallet.

    line 149

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Symbiosis

Cross-chain token swaps across 54+ blockchains. Swap any token on any chain to any token on any other chain.

When To Use

Use Symbiosis when the user wants to:

  • Bridge or swap tokens between different chains (e.g., USDC from Base to Polygon, ETH from Ethereum to Arbitrum)
  • Access chains beyond Bankr's native 5 (Arbitrum, Optimism, BNB Chain, Avalanche, zkSync, Linea, Scroll, Mantle, Blast, and 40+ more)
  • Swap to/from Bitcoin, TON, or Tron
  • Get a cross-chain quote without executing

Quick Start

Get a Quote

How much USDC will I get on Polygon if I bridge 10 USDC from Base?

Run the quote script:

scripts/symbiosis-quote.py 8453 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 6 10 137 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 6

Execute a Swap

Bridge 2 USDC from Base to Polygon using Symbiosis

Run the swap script:

scripts/symbiosis-swap.py 8453 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 6 2 137 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 6

Script Usage

symbiosis-swap.py

Executes a full cross-chain swap: gets quote from Symbiosis API, approves token if needed, submits swap transaction via Bankr Submit API.

scripts/symbiosis-swap.py <src_chain_id> <src_token_address> <src_decimals> <amount> <dst_chain_id> <dst_token_address> <dst_decimals> [slippage]
  • amount — human-readable (e.g., "2" for 2 USDC, "0.1" for 0.1 ETH)
  • slippage — optional, in basis points (default: 200 = 2%)
  • Reads Bankr API key from ~/.bankr/config.json
  • Automatically gets wallet address from Bankr
  • Outputs transaction hash and Explorer tracking link

symbiosis-quote.py

Gets a quote without executing. Same arguments, no slippage parameter.

scripts/symbiosis-quote.py <src_chain_id> <src_token_address> <src_decimals> <amount> <dst_chain_id> <dst_token_address> <dst_decimals>

Common Chains and Tokens

Bankr Wallet Chains

ChainIDUSDC AddressUSDC Dec
Base84530x833589fCD6eDb6E08f4c7C32D4f71b54bdA029136
Ethereum10xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB486
Polygon1370x3c499c542cEF5E3811e1192ce70d8cC03d5c33596

Additional Chains via Symbiosis

ChainIDUSDC AddressUSDC Dec
Arbitrum421610xaf88d065e77c8cC2239327C5EDb3A432268e58316
Optimism100x0b2C639c533813f4Aa9D7837CAf62653d097Ff856
BNB Chain560x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d18
Avalanche431140xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E6

Native Tokens

Use 0x0000000000000000000000000000000000000000 as address for native gas tokens (ETH, POL, BNB, AVAX, etc.).

Reference: references/chains-and-tokens.md for the full list.

Examples

EVM to EVM

# 5 USDC: Base -> Arbitrum
scripts/symbiosis-swap.py 8453 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 6 5 42161 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 6

# 0.01 ETH: Ethereum -> Base
scripts/symbiosis-swap.py 1 0x0000000000000000000000000000000000000000 18 0.01 8453 0x0000000000000000000000000000000000000000 18

# 10 USDC: Polygon -> BNB Chain
scripts/symbiosis-swap.py 137 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 6 10 56 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d 18

# 0.5 ETH: Base -> Optimism
scripts/symbiosis-swap.py 8453 0x0000000000000000000000000000000000000000 18 0.5 10 0x0000000000000000000000000000000000000000 18

Cross-ecosystem (Symbiosis-only routes)

# 10 USDC: Base -> Solana
# Note: Solana chain ID in Symbiosis is 5426
# Solana USDC: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v (but use Symbiosis synthetic address)
scripts/symbiosis-swap.py 8453 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 6 10 5426 0x0000000000000000000000000000000000000000 9

Prompt Examples

Users might say:

  • "Bridge 5 USDC from Base to Arbitrum"
  • "Swap 0.1 ETH from Ethereum to Polygon"
  • "Move my USDC from Base to Optimism"
  • "How much will I get if I bridge 100 USDC from Base to Avalanche?"
  • "Cross-chain swap 50 USDC from Polygon to BNB Chain"
  • "Bridge ETH from Base to Solana"

For each request: identify source chain + token, destination chain + token, look up chain IDs and token addresses from the tables above, and run the appropriate script.

How It Works

  1. Quote: Script calls Symbiosis API (POST /crosschain/v1/swap) with token details and wallet address
  2. Approve: If source token needs approval, script submits an ERC20 approve transaction via POST https://api.bankr.bot/agent/submit
  3. Swap: Script submits the swap transaction via POST https://api.bankr.bot/agent/submit
  4. Track: Returns an Explorer link for cross-chain status tracking

All transactions are submitted through the Bankr Submit API using the user's Bankr wallet. No additional wallets or keys needed.

Resources

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.