Infura Transactions (ITX) is the simplest way to send Ethereum transactions. ITX handles all edge cases for transaction delivery and takes care of getting transactions mined while removing the need for developers to deal with the complexities around gas management and checking that your transaction is not dropped. It also allows the end users of your Dapp to send transactions without holding ETH.

If you wish to use the service to perform on-chain activities such as allow users to transact with your Dapp, or deploy a new contract, you will send a signed relay request using a specific method, which instructs the ITX service to relay your request as a transaction on the Ethereum blockchain.

For this public beta launch, we have automatically enabled ITX within your projects. Should you wish to disable, please go to you project settings and disable using the toggle as pictured below

If you wish to add the three methods for the ITX service to your API request method allow list, please go to your project security settings and add them there as pictured below.

Please note: if no methods are in this list they are all allowed by default.

Please read the documentation for instructions on how to set up the ITX provider, create a signer account and check your ITX gas tank, and for copyable code snippets.

  1. On-chain deposit. You generate a private key and deposit some ETH with Infura’s on-chain deposit contract itx.eth (0x015C7C7A7D65bbdb117C573007219107BD7486f9). This action credits your ITX gas tank with the corresponding amount of ETH (after 10 block confirmations). Your ITX gas tank will be used to pay gas fees for the transaction to be mined. You will use your private key any time you authorize spending from your ITX gas tank (i.e. when relaying a transaction).

Please refer to this resource for a link to a full script to make a deposit.

2. Send a relay request. You send a transaction relay request to your usual Infura endpoint using the relay_sendTransaction RPC call. ITX will first check if you have sufficient balance, then lock a portion of your funds and relay the transaction on your behalf to the Ethereum network.

3. Transaction mined & balance deducted. ITX will periodically increase the gas price and republish your transaction according to a predefined escalation schedule, in an attempt to minimize both confirmation time and final gas price paid. As soon as the transaction is mined and becomes part of the blockchain, the cost of the transaction which includes the network fee (gas price * gas used) + the ITX fee, will be subtracted from your gas tank balance. You can check your new balance using the relay_getBalance RPC call.

You have just sent a relay request via the ITX service. A full code sample is available in our demo repository.

For more information, please refer to the documentation which goes into more detail.
Please also visit the community where you can ask questions or report bugs. You can also use the support function to submit a ticket and receive an answer.