NetworkGatewaysProvider

Overview

The NetworkGatewaysProvider discovers AR.IO gateways from the AR.IO Network using the AR.IO SDK. It provides dynamic access to the full network of verified gateways, making it the recommended choice for production applications.

Important

To avoid rate limits and improve performance, consider wrapping NetworkGatewaysProvider with SimpleCacheGatewaysProvider (for Node.js/server environments) or LocalStorageGatewaysProvider (for browser environments). This enables caching of gateway lists and reduces unnecessary network requests.

Basic Usage

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

// use the top 10 gateways based on operator stake
const provider = new NetworkGatewaysProvider({
  ario: ARIO.mainnet(),
  sortBy: 'operatorStake',
  sortOrder: 'desc',
  limit: 10,
})

const gateways = await provider.getGateways()
console.log('Top gateways:', gateways)

Configuration Options

NetworkGatewaysProviderOptions

interface NetworkGatewayProviderOptions {
  ario: ARIO
  sortBy: 'operatorStake' | 'totalDelegatedStake' | 'startTimestamp'
  sortOrder: 'desc'
  limit: 10 // only consider the first 10 returned
  blocklist: string[]
  filter: () => boolean // any filter predicate to filter certain gateways
}

Was this page helpful?