AR.IO LogoAR.IO Documentation

Gateway Providers

Gateway providers supply the list of gateways for routing. By default, createWayfinderClient uses a cached TrustedPeersGatewaysProvider.

ProviderDescriptionUse Case
NetworkGatewaysProviderReturns gateways from AR.IO NetworkLeverage AR.IO Network with quality filtering
TrustedPeersGatewaysProviderFetches from trusted gateway's peersDynamic gateway discovery (default)
StaticGatewaysProviderReturns a static list of gatewaysTesting or specific gateways
SimpleCacheGatewaysProviderIn-memory caching wrapperReduce API calls (used by default)
LocalStorageGatewaysProviderBrowser localStorage cachingPersistent caching (used by default in browsers)

NetworkGatewaysProvider

Returns a list of gateways from the ARIO Network based on on-chain Gateway Address Registry. You can specify on-chain metrics for gateways to prioritize the highest quality gateways. This requires installing the @ar.io/sdk package and importing the ARIO object.

import { NetworkGatewaysProvider } from '@ar.io/wayfinder-core';
import { ARIO } from '@ar.io/sdk';

const gatewayProvider = new NetworkGatewaysProvider({
  ario: ARIO.mainnet(),
  sortBy: 'operatorStake',
  sortOrder: 'desc',
  limit: 10,
  filter: (gateway) => gateway.status === 'joined',
});

TrustedPeersGatewaysProvider

Fetches a dynamic list of trusted peer gateways from an AR.IO gateway's /ar-io/peers endpoint. This provider is useful for discovering available gateways from a trusted source.

import { TrustedPeersGatewaysProvider } from '@ar.io/wayfinder-core';

const gatewayProvider = new TrustedPeersGatewaysProvider({
  trustedGateway: 'https://arweave.net',
});

How is this guide?