From morph-skill
Quotes cross-chain swaps, searches tokens, creates JWT-auth orders, submits transactions, tracks status across Morph, Ethereum, Base, BNB Chain, Arbitrum, Polygon via Python CLI.
How this skill is triggered — by the user, by Claude, or both
Slash command
/morph-skill:morph-bridgeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Cross-chain swap via Bulbaswap Cross-Chain Swap API.
Cross-chain swap via Bulbaswap Cross-Chain Swap API. Supports 6 chains: Morph, Ethereum, Base, BNB Chain, Arbitrum, Polygon. All commands output JSON. Includes JWT-authenticated order management.
Use this skill when the user wants to: bridge tokens across chains, get a cross-chain swap quote, search tokens on multiple chains, check token balances with USD prices, or create and manage cross-chain swap orders.
pip install requests eth_account
# Run from repository root
python3 scripts/morph_api.py <command> [options]
No API keys required for queries. Order management requires JWT authentication via bridge-login.
Decide the mode once via the root SKILL.md and docs/social-wallet-integration.md.
bridge-login, bridge-make-order, bridge-submit-order, and bridge-swap require --private-key (local signing only).bridge-quote, bridge-chains, bridge-tokens, bridge-token-search, and bridge-balance are read-only and work for any wallet type.| Chain | Name |
|---|---|
| morph | Morph |
| eth | Ethereum |
| base | Base |
| bnb | BNB Chain |
| arbitrum | Arbitrum |
| matic | Polygon |
Use bridge-chains to get the latest list.
bridge-chainsList all supported chains for cross-chain swap.
python3 scripts/morph_api.py bridge-chains
bridge-tokensList available tokens for cross-chain swap. Optionally filter by chain.
# All tokens across all chains
python3 scripts/morph_api.py bridge-tokens
# Tokens on Morph only
python3 scripts/morph_api.py bridge-tokens --chain morph
bridge-token-searchSearch tokens by symbol or contract address across chains.
# Search by symbol
python3 scripts/morph_api.py bridge-token-search --keyword USDT
# Search on a specific chain
python3 scripts/morph_api.py bridge-token-search --keyword USDC --chain base
bridge-quoteGet a cross-chain or same-chain swap quote with price, fees, and route info.
# Cross-chain: USDT on Base → USDT on BNB
python3 scripts/morph_api.py bridge-quote \
--from-chain base --from-token 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913 \
--amount 2 --to-chain bnb \
--to-token 0x55d398326f99059ff775485246999027b3197955 \
--from-address 0xYourAddress
# Same-chain: ETH → USDT on Morph
python3 scripts/morph_api.py bridge-quote \
--from-chain morph --from-token ETH \
--amount 0.01 --to-chain morph \
--to-token USDT \
--from-address 0xYourAddress
bridge-balanceQuery token balance and USD price for an address on any supported chain.
python3 scripts/morph_api.py bridge-balance \
--chain morph --token USDT --address 0xYourAddress
# Native ETH balance
python3 scripts/morph_api.py bridge-balance \
--chain eth --token ETH --address 0xYourAddress
bridge-loginSign in with an EIP-191 wallet signature to get a JWT access token (valid 24h). Required for order management commands.
python3 scripts/morph_api.py bridge-login --private-key 0xYourKey
Returns accessToken in response data.
bridge-make-orderCreate a cross-chain swap order. Returns orderId and unsigned transactions (txs) to sign.
python3 scripts/morph_api.py bridge-make-order --jwt <JWT> \
--from-chain morph --from-contract 0xe7cd86e13AC4309349F30B3435a9d337750fC82D \
--from-amount 10 --to-chain base \
--to-contract 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913 \
--to-address 0xRecipient --market stargate \
--slippage 0.5 --feature no_gas
bridge-submit-orderSubmit signed transactions for an existing swap order.
python3 scripts/morph_api.py bridge-submit-order --jwt <JWT> \
--order-id abc123 --signed-txs 0xSignedTx1,0xSignedTx2
bridge-swapOne-step cross-chain swap: create order, sign transactions, and submit — all in one command. This is the recommended way for agents to execute bridge swaps (equivalent to bridge-make-order → sign → bridge-submit-order).
python3 scripts/morph_api.py bridge-swap --jwt <JWT> \
--from-chain morph --from-contract USDT.e --from-amount 5 \
--to-chain base --to-contract USDC \
--market stargate --private-key 0xYourKey
# With optional parameters
python3 scripts/morph_api.py bridge-swap --jwt <JWT> \
--from-chain morph --from-contract USDT.e --from-amount 5 \
--to-chain base --to-contract USDC \
--to-address 0xRecipient --market stargate \
--slippage 0.5 --feature no_gas --private-key 0xYourKey
--to-address defaults to sender address if omittedorderId for status tracking via bridge-orderbridge-orderQuery the status of a swap order.
python3 scripts/morph_api.py bridge-order --jwt <JWT> --order-id abc123
bridge-historyQuery historical swap orders. Supports pagination and status filtering.
# Default (page 1)
python3 scripts/morph_api.py bridge-history --jwt <JWT>
# With filters
python3 scripts/morph_api.py bridge-history --jwt <JWT> --page 1 --page-size 10 --status completed
Order management commands (bridge-make-order, bridge-submit-order, bridge-swap, bridge-order, bridge-history) require a JWT access token obtained via bridge-login.
bridge-login --private-key 0x... → signs an EIP-191 message with timestampaccessToken (JWT, valid 24h)--jwt <JWT>bridge-login. They are never sent to the API.Authorization: Bearer <token> headers. They expire after 24 hours.bridge-make-order or bridge-swap — show the swap details (chains, tokens, amounts) before creating the order.bridge-submit-order — show the orderId and number of signed transactions before broadcasting to the chain.| Feature | morph-dex | morph-bridge |
|---|---|---|
| API Path | /v2/quote | /v2/order/* |
| Scope | Same-chain swap (Morph only) | Cross-chain + same-chain (6 chains) |
| Execution | dex-send broadcasts tx | bridge-swap (recommended) or bridge-make-order → sign → bridge-submit-order |
| Auth | None | JWT via bridge-login (for orders) |
| Token format | ETH for native | "" (empty string) for native |
| Use when | Swapping tokens on Morph | Cross-chain transfers or multi-chain swaps |
"" for native tokens. The CLI handles this automatically — pass ETH (on ETH/Morph/Base/Arbitrum chains), BNB (on BNB Chain), or POL/MATIC (on Polygon).USDC on base resolves to Base USDC (0x8335...), while USDC on morph resolves to Morph USDC (0xCfb1...). Use bridge-token-search for tokens not in the built-in registry.docs/bridge.md for field details.bridge-login expire after 24 hours. Re-authenticate if you get auth errors.Check cross-chain swap price:
bridge-chains (list supported chains) → bridge-token-search --keyword USDT (find token on target chain) → bridge-quote (get price)
Execute a cross-chain swap (recommended):
bridge-login (get JWT) → bridge-quote (get price + market) → bridge-swap (create, sign, submit in one step) → bridge-order (track status)
Execute a cross-chain swap (advanced — manual signing):
bridge-login (get JWT) → bridge-quote (get price + market) → bridge-make-order (create order, get txs) → sign txs locally → bridge-submit-order (submit signed txs) → bridge-order (track status)
Compare prices across chains:
bridge-quote (chain A → chain B) → bridge-quote (chain A → chain C) → compare toAmount
Check multi-chain portfolio:
bridge-balance (chain 1) → bridge-balance (chain 2) → ... (each chain)
Track order status:
bridge-order --order-id X (poll until completed) or bridge-history (list all orders)
bridge-token-search to find token addresses, then dex-quote (morph-dex) for on-chain Morph swaps.bridge-balance for multi-chain balance checks alongside balance / token-balance (morph-wallet) for Morph-specific queries.bridge-quote to compare cross-chain rates with dex-quote (morph-dex) same-chain rates.npx claudepluginhub morph-l2/morph-skill --plugin morph-skillBridges tokens across blockchains via OKX DEX. Quotes, compares, and executes cross-chain swaps through protocols like Stargate and Across, then tracks arrival.
Swaps tokens on the same chain or bridges tokens across chains using swaps.xyz. Builds unsigned transactions, signs locally, broadcasts, and registers for tracking.
Guides token swaps, bridges, ETH/WETH conversions, and trades on Base, Polygon, Ethereum, Unichain, Solana using USD, percentage, or exact amounts.