ruvnet/ruflo · error

[IPFS] Rate limited on ${gateway}, trying next...

Error message

[IPFS] Rate limited on ${gateway}, trying next...

What it means

Log warning in fetchFromIPFS: the gateway answered HTTP 429 (rate limited); the code moves on to the next gateway in the rotation for this CID.

Source

Thrown at v3/@claude-flow/cli/src/transfer/ipfs/client.ts:168

        signal: AbortSignal.timeout(30000),
        headers: {
          'Accept': 'application/json',
          'Cache-Control': 'max-age=3600',
        },
      });

      if (response.ok) {
        const data = await response.json() as T;
        const latency = Date.now() - startTime;
        console.log(`[IPFS] Fetched ${cid} from ${gateway} (${latency}ms)`);
        return data;
      }

      // Handle specific error codes
      if (response.status === 504) {
        console.warn(`[IPFS] Gateway timeout on ${gateway}, trying next...`);
      } else if (response.status === 429) {
        console.warn(`[IPFS] Rate limited on ${gateway}, trying next...`);
      }
    } catch (error) {
      const errorMsg = error instanceof Error ? error.message : String(error);
      console.warn(`[IPFS] Gateway ${gateway} failed: ${errorMsg}`);
      continue;
    }
  }

  console.warn(`[IPFS] Fetch failed for ${cid} on all gateways`);
  return null;
}

/**
 * Fetch with full result metadata
 */
export async function fetchFromIPFSWithMetadata<T>(
  cid: string,
  preferredGateway?: string

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. No action needed if a later gateway succeeds; persistent rate limiting means adding an authenticated/paid gateway or reducing request rate.
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at v3/@claude-flow/cli/src/transfer/ipfs/client.ts:168 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/812c237cc7087140. Report an issue: GitHub.