SDK
Installing, Importing & Configuring
The Irys SDK minimizes dependency bloat by providing dedicated packages for each token. Installation statements, imports, and connection code differ based on the payment token selected.
Info
These examples show the upload SDK's configuration pattern for each payment token. Network selection is separate from the token used to pay. Current documentation identifies
uploader.irys.xyz as the default Irys L1 mainnet bundler. For supported devnet configurations, use the RPC and .devnet() settings in the network guide. Confirm the endpoint and supported token network before funding an account or uploading data.Aptos
Installing:
npm install @irys/upload @irys/upload-aptosImporting & Configuring:
import { Uploader } from "@irys/upload";
import { Aptos } from "@irys/upload-aptos";
const getIrysUploader = async () => {
const irysUploader = await Uploader(Aptos).withWallet(process.env.PRIVATE_KEY);
return irysUploader;
};Arbitrum
Installing:
npm install @irys/upload @irys/upload-ethereumImporting & Configuring:
import { Uploader } from "@irys/upload";
import { Arbitrum } from "@irys/upload-ethereum";
const getIrysUploader = async () => {
const irysUploader = await Uploader(Arbitrum).withWallet(process.env.PRIVATE_KEY);
return irysUploader;
};Avalanche C-Chain
Installing:
npm install @irys/upload @irys/upload-ethereumImporting & Configuring:
import { Uploader } from "@irys/upload";
import { Avalanche } from "@irys/upload-ethereum";
const getIrysUploader = async () => {
const irysUploader = await Uploader(Avalanche).withWallet(process.env.PRIVATE_KEY);
return irysUploader;
};Berachain
Installing:
npm install @irys/upload @irys/upload-ethereumImporting & Configuring:
import { Uploader } from "@irys/upload";
import { Bera } from "@irys/upload-ethereum";
const getIrysUploader = async () => {
const irysUploader = await Uploader(Bera).withWallet(process.env.PRIVATE_KEY);
return irysUploader;
};BNB
Installing:
npm install @irys/upload @irys/upload-ethereumImporting & Configuring:
import { Uploader } from "@irys/upload";
import { BNB } from "@irys/upload-ethereum";
const getIrysUploader = async () => {
const irysUploader = await Uploader(BNB).withWallet(process.env.PRIVATE_KEY);
return irysUploader;
};Chainlink
Installing:
npm install @irys/upload @irys/upload-ethereumImporting & Configuring:
import { Uploader } from "@irys/upload";
import { Chainlink } from "@irys/upload-ethereum";
const getIrysUploader = async () => {
const irysUploader = await Uploader(Chainlink).withWallet(process.env.PRIVATE_KEY);
return irysUploader;
};Eclipse-eth
Installing:
npm install @irys/upload @irys/upload-solanaImporting & Configuring:
import { Uploader } from "@irys/upload";
import { EclipseEth } from "@irys/upload-solana";
const getIrysUploader = async () => {
const irysUploader = await Uploader(EclipseEth).withWallet(process.env.PRIVATE_KEY);
return irysUploader;
};Ethereum
Installing:
npm install @irys/upload @irys/upload-ethereumImporting & Configuring:
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;
};Base Ethereum
Installing:
npm install @irys/upload @irys/upload-ethereumImporting & Configuring:
import { Uploader } from "@irys/upload";
import { BaseEth } from "@irys/upload-ethereum";
const getIrysUploader = async () => {
const irysUploader = await Uploader(BaseEth).withWallet(process.env.PRIVATE_KEY);
return irysUploader;
};Linea Ethereum
Installing:
npm install @irys/upload @irys/upload-ethereumImporting & Configuring:
import { Uploader } from "@irys/upload";
import { LineaEth } from "@irys/upload-ethereum";
const getIrysUploader = async () => {
const irysUploader = await Uploader(LineaEth).withWallet(process.env.PRIVATE_KEY);
return irysUploader;
};Scroll Ethereum
Installing:
npm install @irys/upload @irys/upload-ethereumImporting & Configuring:
import { Uploader } from "@irys/upload";
import { ScrollEth } from "@irys/upload-ethereum";
const getIrysUploader = async () => {
const irysUploader = await Uploader(ScrollEth).withWallet(process.env.PRIVATE_KEY);
return irysUploader;
};IoTeX
Installing:
npm install @irys/upload @irys/upload-ethereumImporting & Configuring:
import { Uploader } from "@irys/upload";
import { Iotex } from "@irys/upload-ethereum";
const getIrysUploader = async () => {
const irysUploader = await Uploader(Iotex).withWallet(process.env.PRIVATE_KEY);
return irysUploader;
};Polygon
Installing:
npm install @irys/upload @irys/upload-ethereumImporting & Configuring:
import { Uploader } from "@irys/upload";
import { Matic } from "@irys/upload-ethereum";
const getIrysUploader = async () => {
const irysUploader = await Uploader(Matic).withWallet(process.env.PRIVATE_KEY);
return irysUploader;
};Solana
Installing:
npm install @irys/upload @irys/upload-solanaImporting & Configuring:
import { Uploader } from "@irys/upload";
import { Solana } from "@irys/upload-solana";
const getIrysUploader = async () => {
const irysUploader = await Uploader(Solana).withWallet(process.env.PRIVATE_KEY);
return irysUploader;
};USDC (on Ethereum)
Installing:
npm install @irys/upload @irys/upload-ethereumImporting & Configuring:
import { Uploader } from "@irys/upload";
import { USDCEth } from "@irys/upload-ethereum";
const getIrysUploader = async () => {
const irysUploader = await Uploader(USDCEth).withWallet(process.env.PRIVATE_KEY);
return irysUploader;
};USDC (on Polygon)
Installing:
npm install @irys/upload @irys/upload-ethereumImporting & Configuring:
import { Uploader } from "@irys/upload";
import { USDCPolygon } from "@irys/upload-ethereum";
const getIrysUploader = async () => {
const irysUploader = await Uploader(USDCPolygon).withWallet(process.env.PRIVATE_KEY);
return irysUploader;
};