In a crypto thought leadership post, the payment processor Visa recently suggested a method known as “account abstraction” that makes use of smart contracts and can be utilised to enable automatic programmable payments on Ethereum.
In order to create a self-custodial wallet that can conduct automated recurring payments without requiring the user’s active participation, this method entails the construction of a smart contract that serves as an intermediary between a user account and a contract account.
Recurring payments could then be carried out wholly on blockchain networks, which are currently unable to do so — according to Visa, which suggested implementing the solution on the Ethereum layer 2 network called StarkNet.
On the Ethereum network, there are currently two different kinds of accounts: Contract Accounts (CA), which are effectively smart contracts, and Externally Owned Accounts (EOA), which are managed by a private key.
Transactions can be initiated by EOAs, but not by CAs. Visa stated that it is possible to establish a self-custodial wallet that can make recurrent payments automatically by leveraging Account Abstraction to create a smart contract that can perform transactions on behalf of an EOA.
On the Ethereum blockchain, Account Abstraction (AA) is a proposal that is designed to consolidate user accounts and smart contracts into a single type of account. This is made possible by enabling the development of validity guidelines for individual transactions.
The development of “delegable accounts,” which enables the automation of payments through the use of smart contracts, is one such application for AA.
Visa said that a user can grant a pre-approved smart contract, known as a “auto payment contract,” the authority to start payments using a delegable account.
For example, the address of the auto payment contract is added to the user’s allow list if they visit a merchant’s website and consent to auto payments. What follows is that the user’s account could initiate a payment that would be valid because it was on the allow list by using the charge function of the auto payment contract, which the merchant could then use to activate a payment.