Date: 2026-03-02 Migration: arweave.net / permagate.io → turbo-gateway.com
Replaced all hardcoded gateway defaults throughout the codebase to use https://turbo-gateway.com instead of arweave.net or permagate.io.
Rationale:
- arweave.net is no longer an AR.IO gateway (doesn't support
/ar-io/*endpoints) - turbo-gateway.com is a verified AR.IO gateway with full AR.IO API support
- Developers can still configure any gateway they want - these are just fallback defaults
-
src/client.ts
DEFAULT_TRUSTED_GATEWAY: permagate.io → turbo-gateway.com- Preferred routing strategy default: arweave.net → turbo-gateway.com
createVerificationStrategydefault trustedGateways: permagate.io → turbo-gateway.com
-
src/wayfinder.ts
- Deprecated
gatewaysProviderfallback: arweave.net → turbo-gateway.com - Default verification strategy trustedGateways (2 locations): permagate.io → turbo-gateway.com
- JSDoc examples (3 locations): permagate.io → turbo-gateway.com
- Deprecated
-
src/routing/round-robin.ts
- Default gateways: [arweave.net, permagate.io] → [turbo-gateway.com, g8way.io]
-
README.md
- All documentation examples: permagate.io → turbo-gateway.com
- Composite gateway provider example updated
- Verification strategy examples updated
-
src/adapters/chrome-storage-gateway-provider.ts
- Fallback gateway: arweave.net → turbo-gateway.com
-
src/constants.ts
FALLBACK_GATEWAY: arweave.net → turbo-gateway.com- Label: "Arweave.net (Fallback)" → "Turbo Gateway (Fallback)"
-
src/settings.ts
- Last resort fallback: arweave.net → turbo-gateway.com
- src/commands/info.ts
- TrustedPeersGatewaysProvider default: permagate.io → turbo-gateway.com
The following references to arweave.net are intentional and correct:
packages/wayfinder-core/src/wayfinder.ts: Legacy URL parsing for arweave.net/arweave.dev URLs- Used to convert old-style URLs like
https://arweave.net/txidtoar://txid - Does NOT assume arweave.net is an AR.IO gateway
- Just recognizes the URL format for backwards compatibility
- Used to convert old-style URLs like
packages/wayfinder-extension/src/background.ts: URL patterns like*://arweave.net/*- These are Chrome extension permission patterns
- Allows extension to intercept/handle arweave.net URLs if users visit them
- Does NOT make requests to arweave.net
packages/wayfinder-extension/src/routing.ts: Comments explaining URL formats- Just showing examples of different URL formats (subdomain vs path)
- Not recommending arweave.net as a gateway
packages/wayfinder-core/src/wayfinder.test.ts: Test cases for parsing arweave.net URLs- Testing legacy URL parsing functionality
- Does NOT rely on arweave.net being an AR.IO gateway
To verify turbo-gateway.com supports AR.IO APIs:
# Check AR.IO info endpoint
curl -I https://turbo-gateway.com/ar-io/info
# Should return AR.IO headers like:
# X-AR-IO-Hops, X-AR-IO-Origin, X-AR-IO-Verified, etc.✅ Confirmed: turbo-gateway.com returns all AR.IO-specific headers
After these changes, verify:
-
createWayfinderClient()with no config fetches gateway list successfully - Preferred routing strategy works
- Extension loads and syncs gateways
- Extension fallback works when registry fails
- CLI info command works
- All tests pass
- Documentation examples are correct
✅ No breaking changes - These are all internal defaults ✅ Developers can still configure any gateway - Full flexibility maintained ✅ Better defaults - Now defaults to a working AR.IO gateway
// Developers can use any gateway they want
const wayfinder = createWayfinderClient({
routingSettings: {
strategy: new StaticRoutingStrategy({
gateway: 'https://any-gateway.example.com'
})
}
});
// Or use TrustedPeersGatewaysProvider with any AR.IO gateway
const gatewayProvider = new TrustedPeersGatewaysProvider({
trustedGateway: 'https://custom-gateway.com',
});- 9 files modified
- All defaults now use turbo-gateway.com
- g8way.io added as second default in round-robin
- Documentation updated to reflect new defaults
- No breaking changes - all user configurations still work