Biconomy + Thirdweb SDK ERC721 claim function throwing 400 (Bad Request)

Hi Team and Community,

I’m currently using Biconomy with Thirdweb’s SDK for gasless transactions and facing this issue:

const sdk = await ThirdwebSDK.fromWallet(
  wallet,
  process.env.NEXT_PUBLIC_NETWORK,
  {
    gasless: {
      biconomy: {
        apiId: process.env.NEXT_PUBLIC_BICONOMY_API_ID_CLAIM,
        apiKey: process.env.NEXT_PUBLIC_BICONOMY_API_KEY,
      },
    },
  }
)

const contract = await sdk.getContract(process.env.NEXT_PUBLIC_NFT)

const tx = await contract.erc721.claim(1)

This code returns this error message:

- error Error: relay transaction failed with status: 400 (Bad Request)

Thirdweb seems to use the endpoing https://api.biconomy.io/api/v2/meta-tx/native. Your documentation (Native Meta Transaction - Biconomy Gasless SDK (EOA)) does not have information on 400 response status codes.

The ERC721 Claim function does not work but Biconomy gasless is working with an ERC20 Transfer function:

const sdk = await ThirdwebSDK.fromWallet(
    bankWallet,
    process.env.NEXT_PUBLIC_NETWORK,
    {
      gasless: {
        biconomy: {
          apiId: process.env.NEXT_PUBLIC_BICONOMY_API_ID_TRANSFER,
          apiKey: process.env.NEXT_PUBLIC_BICONOMY_API_KEY,
        },
      },
    }
  )

  const contract = await sdk.getContract(process.env.NEXT_PUBLIC_TOKEN)

  const tx = await contract.erc20.transfer(userWalletAddress, 2)

Using the Gasless Dashboard (https://dashboard-gasless.biconomy.io/) and I’ve made sure my API ID and Key are both correct.

Is this a known issue?
Please let me know if you need any other information.

Thanks!

This is probably with the fact, that this is an older implementation.