con un clic
fix-rpc-urls
// Apply RPC URL changes for a chain. Use after /debug-rpc-provider has diagnosed the issue and recommended new URLs. The user invoking this skill is the confirmation gate.
// Apply RPC URL changes for a chain. Use after /debug-rpc-provider has diagnosed the issue and recommended new URLs. The user invoking this skill is the confirmation gate.
Check token balances for each leg of a warp route. Shows collateral locked (for collateral/native legs) and total circulating supply (for synthetic legs). Use when you want to inspect the current state of a warp route's liquidity.
First step of deploying a new warp route (steps 1–9). Reads a Linear ticket to extract token details and chain configuration, looks up mailbox addresses from the local registry, generates the deploy.yaml, runs the deploy, and optionally runs a send test. Follow up with /warp-deploy-update-owners.
Post-deployment ownership transfer and registry PR for a warp route. Transfers ownership from the temporary deployer address to real owners, adds CoinGecko ID, commits, and opens a registry PR. Run after warp-deploy-init completes deployment.
Debug validator checkpoint inconsistencies where some validators are behind others. Use when alerts mention "checkpoint inconsistency", "validators behind", or "inconsistent latest checkpoints", or when asked to debug validator sets, investigate validator delays, or troubleshoot metadata fetch failures for a chain. Defaults to default_ism app context if not specified.
Debug RPC provider health issues for a chain. Use when alerts mention RPC failures, high latency, stale blocks, or provider errors. Diagnoses the issue and recommends fixes.
Encode and decode raw Hyperlane messages to/from packed hex bytes using the CLI. Use when you need to construct a message for testing, inspect a raw message from logs or a transaction, or decode a warp transfer body.
| name | fix-rpc-urls |
| description | Apply RPC URL changes for a chain. Use after /debug-rpc-provider has diagnosed the issue and recommended new URLs. The user invoking this skill is the confirmation gate. |
Apply RPC URL changes to a chain's GCP secret and optionally refresh K8s resources.
/debug-rpc-provider, saw the recommendation, and says "fix it" or "apply the fix"The skill parses parameters from conversation context (typically from /debug-rpc-provider output):
| Parameter | Required | Source | Description |
|---|---|---|---|
chain | Yes | Conversation context | Chain name (e.g., ethereum) |
environment | Yes | Conversation context or mainnet3 | mainnet3 or testnet4 |
rpcUrls | Yes | Debug skill's proposed URL list | JSON array of full RPC URLs |
refreshK8s | No | User request, default false | Whether to refresh K8s resources |
MONOREPO_ROOT=$(git rev-parse --show-toplevel)
Extract from the conversation:
If any required parameter cannot be found, output what's missing and stop.
Before making changes, output what will happen:
Applying RPC URL changes for <chain> (<environment>):
New URLs: ["https://url1", "https://url2"]
Refresh K8s: yes/no
Run the set-rpc-urls script in non-interactive mode:
pnpm --dir "$MONOREPO_ROOT/typescript/infra" exec tsx scripts/secret-rpc-urls/set-rpc-urls.ts \
-e <environment> -c <chain> \
--rpc-urls '<JSON array of URLs>' \
--refresh-k8s --yes
Omit --refresh-k8s if the user explicitly said not to refresh, or if kubectl access is unavailable.
The script validates each URL before applying. If validation fails, it will error out and no changes are made.
Note: URL validation is EVM-only — for non-EVM chains (Cosmos, Sealevel, Radix, etc.)
testProvidershort-circuits and returns healthy without probing. For those chains, double-check the URL set yourself before invoking this skill.
Run the debug script again to confirm the new URLs are healthy:
pnpm --dir "$MONOREPO_ROOT/typescript/infra" exec tsx scripts/secret-rpc-urls/debug-rpc-url-health.ts \
-e <environment> -c <chain>
Output a summary:
RPC URL update for <chain> (<environment>): SUCCESS/FAILED
- Secret updated: yes/no
- K8s resources refreshed: yes/no/skipped
- Verification: all healthy / X of Y healthy
| Error | Action |
|---|---|
| Provider validation fails | Report which URL failed. No changes made. Suggest user provide different URLs. |
| Secret update fails | Report error. Check GCP permissions. |
| K8s refresh fails | Report error. Secret was already updated. Suggest manual kubectl refresh. |
| Verification shows unhealthy | Report the verification output. The URLs were set but may need further investigation. |
AskUserQuestion. The human-in-the-loop gate is the act of invoking /fix-rpc-urls itself./debug-rpc-provider output can be passed directly.set-rpc-urls.ts script always validates URLs before applying for EVM chains — there is no way to skip validation. Non-EVM chains skip URL probing.--refresh-k8s is used, the script refreshes all dependent K8s resources (relayers, validators, scrapers, warp monitors, rebalancers, cronjobs) without prompting.