I thought reimbursing the signer who is executing the transaction in ether from the safe's ether would be as simple as adding in that refundReceiver param but what I am missing? Thanks!

const txOptions = {
    gasPrice: 1000000000,
    gasLimit: 1000000000,
    refundReceiver: signer.address,
  const safeTransaction = await safeSdk.createTransaction(

1 Answer 1


It is important here what type your multiSendTx is. If it is a single transaction the options will be ignored, only if it is an array the options are applied. For a single transaction you would have to set these values directly on the transaction.

This definition can be seen in the function signature: https://github.com/gnosis/safe-core-sdk/blob/main/packages/safe-core-sdk/src/Safe.ts#L257-L261

On another note, the parameter you have to set are safeTxGas, gasPrice and refundReceiver. The complete available options are defined here: https://github.com/gnosis/safe-core-sdk/blob/main/packages/safe-core-sdk/src/utils/transactions/types.ts#L7

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.