$npx -y skills add franalgaba/grimoire --skill grimoire-acrossFetches Across Protocol bridge quotes, routes, and deposit status using the Grimoire venue CLI. Use when you need bridge quotes, route availability, or cross-chain deposit tracking.
| 1 | # Grimoire Across Skill |
| 2 | |
| 3 | Use this skill to query Across Protocol bridge data for cross-chain strategy inputs. |
| 4 | |
| 5 | Preferred invocations: |
| 6 | |
| 7 | - `grimoire venue across ...` |
| 8 | - `npx -y @grimoirelabs/cli venue across ...` (no-install) |
| 9 | - `bun run packages/cli/src/index.ts venue across ...` (repo-local) |
| 10 | - `grimoire-across ...` (direct binary from `@grimoirelabs/venues`) |
| 11 | |
| 12 | Recommended preflight: |
| 13 | |
| 14 | - `grimoire venue doctor --adapter across --chain 1 --rpc-url <rpc> --json` |
| 15 | |
| 16 | ## Commands |
| 17 | |
| 18 | - `grimoire venue across info` — adapter metadata and supported chains |
| 19 | - `grimoire venue across chains` — list supported bridge chains |
| 20 | - `grimoire venue across quote --asset <symbol|address> --from <chainId> --to <chainId> --amount <wei> [--recipient <address>]` — get a bridge quote with fees and limits |
| 21 | - `grimoire venue across status --tx-hash <hash> [--api-url <url>]` — check deposit status by origin tx hash |
| 22 | - `grimoire venue across routes --asset <symbol>` — list available bridge routes for an asset |
| 23 | |
| 24 | ## Examples |
| 25 | |
| 26 | ```bash |
| 27 | grimoire venue across info |
| 28 | grimoire venue across chains |
| 29 | grimoire venue across quote --asset USDC --from 1 --to 8453 --amount 1000000000 |
| 30 | grimoire venue across quote --asset WETH --from 42161 --to 1 --amount 500000000000000000 |
| 31 | grimoire venue across status --tx-hash 0xabc123... |
| 32 | grimoire venue across routes --asset USDC |
| 33 | grimoire venue across routes --asset WETH |
| 34 | ``` |
| 35 | |
| 36 | ## Supported Chains |
| 37 | |
| 38 | | Chain | ID | |
| 39 | |-------|----| |
| 40 | | Ethereum | 1 | |
| 41 | | Optimism | 10 | |
| 42 | | Polygon | 137 | |
| 43 | | Base | 8453 | |
| 44 | | Arbitrum | 42161 | |
| 45 | |
| 46 | ## Quote Response |
| 47 | |
| 48 | The `quote` command returns: |
| 49 | |
| 50 | - `inputAmount` / `outputAmount` — amounts in smallest unit (wei) |
| 51 | - `estimatedFillTimeSec` — expected bridge time |
| 52 | - `isAmountTooLow` — whether the amount is below minimum |
| 53 | - `limits.minDeposit` / `limits.maxDeposit` / `limits.maxDepositInstant` |
| 54 | - `fees.lpFee` / `fees.relayerGasFee` / `fees.relayerCapitalFee` / `fees.totalRelayFee` |
| 55 | - `route.spokePoolAddress` — spoke pool contract used |
| 56 | |
| 57 | ## Metric Surface (Spell Comparisons) |
| 58 | |
| 59 | Across exposes `quote_out` for bridge output comparisons: |
| 60 | |
| 61 | ```spell |
| 62 | across_out = metric("quote_out", across, USDC, "to_chain=8453,amount=1000000") |
| 63 | ``` |
| 64 | |
| 65 | Selector fields: |
| 66 | |
| 67 | - required: `to_chain` |
| 68 | - optional: `amount` (defaults to 1 unit of input asset), `asset_out` (defaults to input asset) |
| 69 | |
| 70 | ## Spell Constraints |
| 71 | |
| 72 | When writing bridge actions in `.spell` files targeting Across, use `with` clauses: |
| 73 | |
| 74 | ```spell |
| 75 | across.bridge(USDC, params.amount, 8453) with ( |
| 76 | max_slippage=50, |
| 77 | require_quote=true, |
| 78 | ) |
| 79 | ``` |
| 80 | |
| 81 | | Constraint | Type | Description | |
| 82 | |-----------|------|-------------| |
| 83 | | `max_slippage` | integer (bps) | Maximum slippage in basis points (converted to min_output) | |
| 84 | | `min_output` | integer (wei) | Explicit minimum output amount floor | |
| 85 | | `require_quote` | boolean | Fail if quote fetch fails | |
| 86 | | `require_simulation` | boolean | Fail if simulation unavailable | |
| 87 | | `max_gas` | integer (wei) | Validate gas estimate against cap | |
| 88 | |
| 89 | ## Notes |
| 90 | |
| 91 | - Amounts are always in the token's smallest unit (wei). For USDC (6 decimals): 1000 USDC = `1000000000`. |
| 92 | - The `status` command queries the Across public API (`https://app.across.to/api/deposits/status`). |
| 93 | - Routes are computed from the built-in token registry; use raw addresses for unlisted tokens. |
| 94 | - Prefer `--format json` in automation; the CLI defaults to `toon` format for interactive use. |