How to do gasless tx with the ncw wallets

hey , so i have some calls to make from ncw wallets like erc20 token approvals and all and for that i need to do gasless tx , how to do that from the users ncw wallet ?

And if theres a gas relayer concept is there a doc for this , cause i cant find on how to do that

I tried doing relay transaction using gelato but can you provide some documentation on how to do that
This is a example doc in gelato to do the tx -

const counter = "0x00172f67db60E5fA346e599cdE675f0ca213b47b"; 
const abi = ["function increment()"];
const provider = new ethers.BrowserProvider(window.ethereum);
const signer = await provider.getSigner();
const user = await signer.getAddress();

// Generate the target payload
const contract = new ethers.Contract(counter, abi, signer);
const { data } = await contract.incrementContext.populateTransaction();

// Populate a relay request
const request: CallWithERC2771Request = {
  chainId: (await provider.getNetwork()).chainId,
  target: counter;
  data: data;
  user: user;
};

// Without a specific API key, the relay request will fail! 
// Go to https://relay.gelato.network to get a testnet API key with 1Balance.
// Send a relay request using Gelato Relay!
const relayResponse = await relay.sponsoredCallERC2771(request, provider, apiKey);

but is there any example implementation on how to do this with users ncw on fireblock sdk as i cant fund any direct way in fireblocks to relay this tx instead of gelato … so can you give a example code on how to do gasless tx using ncw fireblock and fireblocks tx endpoint

Also the only way to do sign in fireblocks sdk is by signing the tx id of a fireblocks tx … so i need to first create cbdc approval tx then i sign that tx with fireblocks sdk using the tx id and then how do i relay that signed tx through gelator or some other service , can you please clarify the flow for this

Hi @tan so gasless only works with a Fireblocks relay. We will have more documentation in the dev portal coming soon in H1 2025.