Prompt Library
Curated prompts for AI agents working with the Across Protocol — organized by task category.
Prompts by Category
Tested prompts organized by task category. Each prompt shows the natural-language instruction, the steps an agent should take, and the API endpoints involved.
These prompts work best when the agent has the Across skill installed or access to the machine-readable documentation.
What chains does Across support?
Prompt:
What chains does Across support? List them with their chain IDs.Agent steps:
- Call
GET /swap/chains - Format the response as a table of chain names and IDs
Endpoint: GET https://app.across.to/api/swap/chains
What tokens can I bridge from Arbitrum?
Prompt:
What tokens can I bridge from Arbitrum using Across?Agent steps:
- Call
GET /swap/chainsto find Arbitrum's chain ID (42161) - Call
GET /swap/tokens?chainId=42161 - List all tokens with their symbols, addresses, and decimals
Endpoints: GET /swap/chains, GET /swap/tokens?chainId=42161
What are the limits for USDC?
Prompt:
What are the transfer limits for bridging USDC from Arbitrum to Base?Agent steps:
- Look up USDC addresses on both chains via
/swap/tokens - Call
GET /swap/limitswith the token addresses and chain IDs - Report minimum and maximum transfer amounts
Endpoints: GET /swap/tokens, GET /swap/limits?originChainId=42161&destinationChainId=8453&inputToken=...&outputToken=...
Get a quote to bridge USDC
Prompt:
Get a quote to bridge 100 USDC from Arbitrum to Base. Show me the fees and estimated fill time.Agent steps:
- Look up chain IDs for Arbitrum (42161) and Base (8453)
- Look up USDC addresses on both chains via
/swap/tokens - Call
GET /swap/approvalwithamount=100000000(100 USDC, 6 decimals) andtradeType=minOutput - Extract
fees,expectedFillTime, and output amount from the response
Endpoint: GET /swap/approval?originChainId=42161&destinationChainId=8453&inputToken=...&outputToken=...&amount=100000000&depositor=...&tradeType=minOutput
Compare fees across routes
Prompt:
Compare the fees for bridging 1000 USDC from Ethereum to Arbitrum vs Ethereum to Base.Agent steps:
- Look up USDC addresses on Ethereum, Arbitrum, and Base
- Call
/swap/approvalfor Ethereum→Arbitrum withamount=1000000000 - Call
/swap/approvalfor Ethereum→Base withamount=1000000000 - Compare
fees.totalFeeUsdandexpectedFillTimefor both routes
Endpoint: Two calls to GET /swap/approval with different destinationChainId values
Bridge 100 USDC from Arbitrum to Base
Prompt:
Bridge 100 USDC from Arbitrum to Base using my connected wallet.Agent steps:
- Call
GET /swap/chainsto confirm both chains are supported - Call
GET /swap/tokens?chainId=42161andGET /swap/tokens?chainId=8453to find USDC addresses - Call
GET /swap/approvalwith the route parameters anddepositorset to the wallet address - Check
checks.balanceandchecks.allowanceon the response - Execute each transaction in
approvalTxns(if any) - Execute
swapTx— this is the bridge deposit
Endpoints: /swap/chains, /swap/tokens, /swap/approval
Handle approvals and execute
Prompt:
I want to bridge 50 USDT from Ethereum to Optimism. Handle token approvals automatically.Agent steps:
- Discover chains and look up USDT addresses
- Get a quote via
/swap/approval - Check if
approvalTxnsis non-empty — if so, send each approval transaction and wait for confirmation - Send the
swapTxtransaction - Return the transaction hash and expected fill time
Endpoints: /swap/chains, /swap/tokens, /swap/approval
Check the status of a deposit
Prompt:
Check the status of my bridge deposit with tx hash 0xabc123... on Arbitrum.Agent steps:
- Call
GET /deposit/status?originChainId=42161&depositTxHash=0xabc123... - Report the status:
pending,filled, orexpired - If filled, show the fill transaction hash and destination chain
Endpoint: GET /deposit/status?originChainId=42161&depositTxHash=0xabc123...
Poll until filled
Prompt:
Bridge 100 USDC from Arbitrum to Base and wait until the transfer is complete.Agent steps:
- Execute the full bridge flow (discover → quote → approve → execute)
- After the deposit tx confirms, poll
GET /deposit/statusevery 2 seconds - Continue polling until status is
filled - Report the fill transaction hash and total time elapsed
Endpoints: /swap/chains, /swap/tokens, /swap/approval, /deposit/status
Bridge USDC and deposit into Aave
Prompt:
Bridge 100 USDC from Arbitrum to Ethereum, swap to ETH, and deposit into Aave's lending pool.Agent steps:
- Discover chains and look up USDC (Arbitrum) and WETH (Ethereum) addresses
- Build an embedded action targeting Aave's WETH Gateway
depositETH()function - Call
POST /swap/approvalwith theactionsarray in the body andrecipientset to the MulticallHandler contract - Execute approvals, then the swap transaction
- The user receives an aWETH position on Ethereum
Endpoints: POST /swap/approval with actions body
Embedded actions require setting the recipient to the MulticallHandler contract address, not the user's wallet. The MulticallHandler receives the bridged tokens and executes the action on behalf of the user.
Bridge ETH and add HubPool liquidity
Prompt:
Bridge ETH from Arbitrum to Ethereum and add it as liquidity to the Across HubPool.Agent steps:
- Look up the ETH/WETH addresses on both chains
- Build an embedded action targeting the HubPool's
addLiquidity()function - Call
POST /swap/approvalwith the action and MulticallHandler as recipient - Execute the transaction — the user receives LP tokens on Ethereum
Endpoints: POST /swap/approval with actions body