Supported Tokens

Irys supports most popular tokens for paying for uploads.

Mainnet

On the mainnet network, users can pay for uploads using any of these tokens:

Token / BlockchainTokenParameter ValueNode SupportBrowser Support
AptosAPTaptosyesyes
AlgorandALGOalgorandyesno
ArbitrumETHarbitrumyesyes
Avalanche C-ChainAVAXavalancheyesyes
BerachainBERAberayesyes
Binance CoinBNBbnbyesyes
BobaBOBAbobayesyes
Boba-ethETHboba-ethyesyes
ChainlinkLINKchainlinkyesyes
Eclipse-ethETHeclipse-ethyesyes
EthereumETHethereumyesyes
Base EthereumETHbase-ethyesyes
Linea EthereumETHlinea-ethyesyes
Scroll EthereumETHscroll-ethyesyes
FantomFTMfantomyesyes
IoTeXIoTeXiotexyesyes
NearNEARnearyesyes
PolygonMATICmaticyesyes
SolanaSOLsolanayesyes
USDC (on Ethereum)USDCusdc-ethyesyes
USDC (on Polygon)USDCusdc-polygonyesyes
USDC (on Solana)USDCusdc-solanayesyes

Devnet

On devnet, uploads are paid for with free faucet tokens. Data is deleted after ~60 days.

Token / BlockchainTokenParameter ValueIrys SupportWebIrys Support
AptosAPTaptosyesyes
AlgorandALGOalgorandyesno
ArbitrumETHarbitrumyesyes
Avalanche C-ChainAVAXavalancheyesyes
Berachain (Bepolia)BERAberayesyes
Binance CoinBNBbnbyesyes
ChainlinkLINKchainlinkyesyes
Ethereum (Sepolia)ETHethereumyesyes
Base Ethereum (Sepolia)ETHbase-ethyesyes
Linea Ethereum (Sepolia)ETHlinea-ethyesyes
Scroll Ethereum (Sepolia)ETHscroll-ethyesyes
IoTeXIoTeXiotexyesyes
NearNEARnearyesyes
Polygon (Amoy)AMOYmaticyesyes
SolanaSOLsolanayesyes
USDC (on Ethereum)USDCusdc-ethyesyes
USDC (on Polygon)USDCusdc-polygonyesyes
USDC (on Solana)USDCusdc-solanayesyes
Eclipse-eth (eclipse faucet)ETHeclipse-ethyesyes

Connecting to Irys

The Irys SDK reduces dependency bloat by providing dedicated packages for each token. Import statements and connection code vary based on the chosen payment token.

The following code demonstrates Ethereum usage only; additional examples covering all supported payment tokens are available in the setup documentation.

import { Uploader } from "@irys/upload";
import { Ethereum } from "@irys/upload-ethereum";

const getIrysUploader = async () => {
  const irysUploader = await Uploader(Ethereum).withWallet(process.env.PRIVATE_KEY);
  return irysUploader;
};