A proof of concept for an intent machine protocol focused on servicing web2 applications.
This project is a proof of concept for an intent machine. The goal for this protocol to service web2 applications integrating the use of issuing or using blockchain tokens. The user would have an easy user experience by using an intent machine service. The user would not be required to know about contract addresses, contract calls, gas fees or executing multiple transactions to arrive at a desired outcome. This proof of concept does not demonstrate all the components that should be apart of an intent machine due to of the time constraining nature of the hackathon. Instead the focus is on demonstrating how the user will create an intent, broadcast that intent to intent nodes that are listening on the network, and reflect a completed intent to the user. The nature of intents allow numerous approaches to solve many use cases within the blockchain ecosystem. This proof of concept describes how web2 services will have pre-defined intents that are known to the entire network. For example, this project showcases a web2 service that pays users a monthly payroll to the web wallet. When visiting the web2 application, the user can create one intent which gives an intent node the responsibility to transfer the user's tokens, on a monthly basis or when payroll is received, to a staking contract to earn rewards.
This project uses Coinbase smart wallet to allow users to easily create wallets without a browser extension, which may be a barrier to entry for traditional web2 users. Base blockchain is used to hold the staking contract, the intent node register contract, and the intent node wallet. Coinbase CDP SDK, which has a Multi-Party Computation (MPC) wallet for developers, is used on the web2 server-side for minting tokens, and making smart contracts calls. Waku is used as the messaging layer to allow all parties to communicate with one another. This communication includes client to intent node for new intents, web2 service to intent node for decryption/ access rights (if implemented with the Lit protocol), intent node to other intent nodes about all open intents, and intent node to web2 service about completed intents.
It is important to note that this implementation is just to demonstrate how a web2 user will benefit from using a intent machine. There are missing components to the architecture that should be implemented.