The Irys SDK reduces dependency bloat by providing dedicated packages for each token. Your install statements, import and connection code will differ depending on the token used for payment.

Select the appropriate code from the options below when starting your project.

ℹ️

The following code examples connect to our alpha testnet. To switch to our devnet, append the functions withRpc() and devnet() as outlined here.

Installing:

npm install @irys/upload @irys/upload-aptos

Importing & 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;
};

Installing:

npm install @irys/upload @irys/upload-ethereum

Importing & 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;
};

Installing:

npm install @irys/upload @irys/upload-ethereum

Importing & 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;
};

Installing:

npm install @irys/upload @irys/upload-ethereum

Importing & 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;
};

Installing:

npm install @irys/upload @irys/upload-ethereum

Importing & 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;
};

Installing:

npm install @irys/upload @irys/upload-ethereum

Importing & 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;
};

Installing:

npm install @irys/upload @irys/upload-solana

Importing & 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;
};

Installing:

npm install @irys/upload @irys/upload-ethereum

Importing & 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;
};

Installing:

npm install @irys/upload @irys/upload-ethereum

Importing & 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;
};

Installing:

npm install @irys/upload @irys/upload-ethereum

Importing & 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;
};

Installing:

npm install @irys/upload @irys/upload-ethereum

Importing & 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;
};

Installing:

npm install @irys/upload @irys/upload-ethereum

Importing & 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;
};

Installing:

npm install @irys/upload @irys/upload-ethereum

Importing & 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;
};

Installing:

npm install @irys/upload @irys/upload-solana

Importing & 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;
};

Installing:

npm install @irys/upload @irys/upload-ethereum

Importing & 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;
};

Installing:

npm install @irys/upload @irys/upload-ethereum

Importing & 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;
};