This action is used to buy an ERC-1155 or ERC-721 token. You can also use it to buy multiple tokens of the same kind (sweeping)

You can supply an object of parameters listed below:

itemsAn array of objects representing orders to be purchased. Refer to the the execute buy api for a full list of parameterstrue[{ token: "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d:1" }]
signerA valid signer from ethers.trueRefer to ethers documentation on signers
onProgressCallback to update UI state as execution progresses. Can also be used to get the transaction hash for a given step item.true(steps) => { console.log(steps) }
expectedPriceToken price used to prevent to protect buyer from price moves.false20.5
optionsSupports all of the parameters allowed in the execute buy apifalse{
source: "",
skipBalanceCheck: true


import { getClient, Execute } from "@reservoir0x/reservoir-sdk";
import { ethers } from "ethers";


address = "0x8ba1f109551bD432803012645Ac136ddd64DBA72"
signer = new ethers.VoidSigner(address, provider)

  items: [{ token: "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d:1", quantity: 1 }],
  onProgress: (steps: Execute['steps']) => {