Skip to content
cccskills
FreePublished on GitHub

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.

The English summary is being prepared. Showing the original description.

Run score Not tested

See how to install

Files included (1)

  • SKILL.md4.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Fix RPC URLs

Apply RPC URL changes to a chain's GCP secret and optionally refresh K8s resources.

When to Use

  1. After diagnosis: User ran /debug-rpc-provider, saw the recommendation, and says "fix it" or "apply the fix"
  2. Direct request: User provides a chain and explicit list of new RPC URLs to set

Input Parameters

The skill parses parameters from conversation context (typically from /debug-rpc-provider output):

ParameterRequiredSourceDescription
chainYesConversation contextChain name (e.g., ethereum)
environmentYesConversation context or mainnet3mainnet3 or testnet4
rpcUrlsYesDebug skill's proposed URL listJSON array of full RPC URLs
refreshK8sNoUser request, default falseWhether to refresh K8s resources

Workflow

Step 1: Find Monorepo Root

MONOREPO_ROOT=$(git rev-parse --show-toplevel)

Step 2: Parse Parameters from Context

Extract from the conversation:

  • chain and environment from the debug skill invocation or user message
  • rpcUrls from the "Proposed new RPC URLs" JSON array in the debug skill output

If any required parameter cannot be found, output what's missing and stop.

Step 3: Log the Change

Before making changes, output what will happen:

Applying RPC URL changes for <chain> (<environment>):
New URLs: ["https://url1", "https://url2"]
Refresh K8s: yes/no

Step 4: Apply the Change

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.) testProvider short-circuits and returns healthy without probing. For those chains, double-check the URL set yourself before invoking this skill.

Step 5: Verify the Fix

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>

Step 6: Report Results

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 Handling

ErrorAction
Provider validation failsReport which URL failed. No changes made. Suggest user provide different URLs.
Secret update failsReport error. Check GCP permissions.
K8s refresh failsReport error. Secret was already updated. Suggest manual kubectl refresh.
Verification shows unhealthyReport the verification output. The URLs were set but may need further investigation.

Important Notes

  • No interactive prompts. This skill does not ask the user. The human-in-the-loop gate is the act of invoking /fix-rpc-urls itself.
  • The URLs from /debug-rpc-provider output can be passed directly.
  • The 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.
  • If --refresh-k8s is used, the script refreshes all dependent K8s resources (relayers, validators, scrapers, warp monitors, rebalancers, cronjobs) without prompting.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Write a changeset file in the `hyperlane-registry` repo for a PR that adds, updates, or modifies warp route config / chain metadata / addresses. Canonical pattern — never run the interactive `pnpm changeset` CLI; write the file directly. Referenced by any skill that opens a registry PR.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo77Updated Oct 23, 2026

Trigger Docker image builds for Hyperlane agent, monorepo, or node service images. Use when the user wants to build new Docker images for a branch, commit, or tag.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo77Updated Oct 23, 2026

The low-level on-chain probes for identifying what an owner address is — cast code → EOA / EIP-7702-delegated EOA / contract, VERSION() → Gnosis Safe, read-only get-owner-ica.ts derive → ICA derivation, getAccountInfo → Sealevel account existence — with how to interpret each result. The primitive layer beneath validate-owners / resolve-artifacts / update-owners, which each apply their own per-chain or per-artifact policy on top.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo77Updated Oct 23, 2026

Review code changes using Hyperlane monorepo coding standards. Use when reviewing PRs, checking your own changes, or doing self-review before committing.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo77Updated Oct 23, 2026

Debug why a Hyperlane message is not being processed. Use when given a message ID or explorer URL to investigate delivery failures, gas estimation errors, validator issues, or other processing problems.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo77Updated Oct 23, 2026

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.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo77Updated Oct 23, 2026

See all skills by hyperlane-xyz

Report a problem with this skill