Payments solution provider Visa has unveiled an experimental solution on the Ethereum blockchain that enables users to pay gas fees uing their Visa credit or debit cards.
The initiative aims to streamline the process of interacting with decentralized applications (dapps) built on the Ethereum blockchain. According to the company, the trial “helps set the stage for a more accessible and user-friendly approach to digital transactions.”
The successful test was conducted during an internal hackathon on the Ethereum Goerli testnet, a replica of the Ethereum mainnet’s functionality designed for testing purposes, and follows the publication of a deep dive report on self-custodial crypto wallets at the end of the last year, in which Visa researched the potential of auto-payments on the Ethereum network.
Traditionally, users need to acquire ETH from exchanges or on-ramp services and then transfer the coins to their wallets to cover fluctuating gas fees for transactions on the Ethereum mainnet or when transacting in stablecoins such as USDT or USDC. This often leads to overspending or insufficient ETH balances, increasing the complexity of the user experience.
Visa’s technical team utilized a combination of cutting-edge technologies to facilitate this experiment, including paymaster smart contract agreement, account abstraction, as well as the ERC-4337 standard.
Account abstraction refers to a comprehensive concept that involves transforming a traditional crypto wallet into a “smart contract wallet.” This evolution goes beyond the conventional setup of a public and private key pair, offering enhanced capabilities such as gasless transactions, batch transactions, and social recovery.
ERC-4337, in turn, is an Ethereum standard that outlines a specific approach for implementing account abstraction within a cryptocurrency wallet.
How the tech works
In Visa’s implementation, the process begins when a user intends to execute a transaction on the blockchain. To initiate the operation, the wallet generates a User Operation request, which includes details about the intended transaction (known as “calldata”) and the maximum cost allocated for the operation, encompassing parameters associated with gas fees.
Specifically, the parameters within this request define the gas limit, determining the highest computational effort allocated for the operation, and the gas fee, specifying the cost for each unit of computation required.
However, rather than immediately transmitting the User Operation request to the blockchain, the wallet takes an intermediary step. It sends the User Operation along with the user’s Visa card credentials to a paymaster web service (as depicted in Step 2 below).
This web service then utilizes the gas fee details to calculate the appropriate fiat currency cost that the user should be charged. Simultaneously, leveraging the provided card credentials, the card-issuing institution may opt to authorize the card payment.
The chosen payment acceptance solution for the web service is Visa’s own payment management platform Cybersource, which equips developers with essential Software Development Kits (SDKs) and Application Programming Interfaces (APIs) and empowers merchants to seamlessly accept digital payments.
Once the payment has been successfully processed via Cybersource, the web service generates a digital signature encompassing pertinent information within the User Operation. This includes the calldata specifics and gas fee particulars (as indicated in Step 3, above). Additionally, the web service determines a specified timeframe during which this digital signature remains valid.
Subsequently, the wallet receives the digital signature and the designated time window from the web service. These details, along with the on-chain address of the paymaster contract, are then appended as the paymaster parameter to the User Operation. Once all facets of the User Operation are in place, the wallet is empowered to sign and transmit it to the blockchain (as outlined in Step 4, above).
Upon reaching the blockchain, in accordance with the processing framework outlined by the ERC-4337 standard, the paymaster contract receives the User Operation data. This data should encompass the digital signature obtained from the paymaster web service. If any discrepancies or inaccuracies are detected within the provided data (such as an incorrect signature or an invalid time window), the paymaster contract is designed to trigger an error, relieving it from covering the associated gas costs.
However, when the signature is duly validated, signifying that the web service has received the card payment to cover the operational cost of the User Operation, the paymaster contract remains error-free and proceeds to manage the cost. Consequently, the User Operation can be executed without hindrance (Step 5).
Summarizing the experiment, Visa said that “the intricacies and complexities of blockchain-based transactions have been a significant stumbling block for many users, creating a challenging learning curve and increasing user friction.” The experiment, the researchers added, offers a “promising approach to substantially addressing these challenges.”