Install
openclaw skills install @merdikim/arbitrum-bridge-helperGuide users through official Arbitrum bridge actions—deposits, withdrawals, claims, tracking, and diagnostics—across Ethereum, Arbitrum One, Nova, and testne...
openclaw skills install @merdikim/arbitrum-bridge-helperExecute official Arbitrum bridge operations when the user wants the agent to do the work. Default to using a wallet the agent can securely locate on disk rather than asking the user to paste secrets. Never reveal private keys, seed phrases, raw keystore contents, or full secret-bearing file contents in chat.
Read extra references only when needed:
references/routes.md for route selection, timing, chain-pair rules, and claim expectationsreferences/troubleshooting.md for symptom-based diagnosis and what to say nextreferences/triggers.md for natural-language trigger patterns and examples that should or should not activate the skillBefore executing anything, establish these inputs from the user request or by a short follow-up if truly missing:
| Required | Notes |
|---|---|
| Source chain | Full name or abbreviation |
| Destination chain | Default plain "Arbitrum" or "arb" to Arbitrum One unless Nova or a testnet is explicitly specified |
| Asset symbol | Resolve USDC vs USDC.e before proceeding |
| Amount | Exact amount to bridge, withdraw, or claim |
| Action type | deposit · withdrawal · claim · track · diagnose |
| Mainnet or testnet | Ask only if ambiguous |
| Wallet type | Prefer EOA; smart contract wallet limits still apply |
Interpretation default:
Arbitrum or arb, treat that as Arbitrum OneArbitrum Nova or a testnet when the user explicitly names itIf diagnosing, also collect:
If the user asks the agent to execute a real bridge, require a clear final confirmation before signing or broadcasting the transaction.
When execution is requested, look for an existing usable wallet locally before asking the user for anything else.
Preferred wallet sources:
.env with a private key or mnemonicWallet handling rules:
In responses, refer to wallets by public address only, for example
0x1234...abcd.
Before any USDC action touching Arbitrum One, determine which asset is actually involved:
USDC = native USDC on Arbitrum OneUSDC.e = bridged USDC on Arbitrum OneThey are not interchangeable. Use the token symbol shown in the wallet, bridge UI, or on-chain balance source. Do not continue until this is resolved.
| Route | Flow type | Notes |
|---|---|---|
| Ethereum -> Arbitrum One or Nova | Deposit | ERC-20 may require approval first |
| Arbitrum One or Nova -> Ethereum | Withdrawal | 7-8 day wait plus separate claim |
| Arbitrum One <-> Arbitrum Nova | Not direct | Two steps through Ethereum |
| Any chain -> testnet | Deposit | Parent testnet must match child testnet |
Official One <-> Nova route:
Never describe One <-> Nova as a direct single-hop official bridge transfer.
Smart contract wallet limits:
Before signing or broadcasting:
Do not sign anything until the user has clearly confirmed the exact move.
Structure execution updates in this order.
State the source chain, destination chain, asset, amount, action type, wallet address, and any assumptions.
Include only what applies:
Deposit
Withdrawal
Claim
Track / Diagnose
Use only what applies:
USDC and USDC.e on Arbitrum One are different assetsReport only the high-signal details:
Do not dump raw secret-bearing config, RPC credentials, or full wallet files.
For detailed symptom-based diagnosis, read references/troubleshooting.md.
In the main skill flow, troubleshoot with these rules:
USDC versus USDC.e before continuingUSDC and USDC.e into the same asset on Arbitrum OneArbitrum or arb references to Arbitrum One unless Nova or a testnet is explicitly requested