The originality is high-frequency, low-cost, flexible subscriptions can be easily implemented.
It works as follows.
- Reciever connects wallet and creates a subscription plan on the dashboard.
- Reciever provides flexibility to change billing frequency, fees, and Tokens, even once created subscription plans. (c.f. “Bulk transfer”)
- Payer connects wallet and freely select a plan on the dashboard.
- Payer and Reciever can list and analyze Payer's billing status on their own dashboards.
We'll walk through the above description and cover the technologies used at each interaction with Atomicflow.
- organizations and businesses operating Dapps-based protocols should create a subscription plan in Atomicflow. When creating a subscription plan, select a template, customize it, and submit it. Once submitted, the Smart Contract on Scroll will be called to store the subscription information entered.
- Organizations and businesses can use the React SDK to embed a modal on their website that displays subscription information, terms of use, and a button to start using the service.
- Organizations and businesses can use the Solidity SDK to use modifiers to grant access based on whether or not the address accessing the contract has the necessary authorization and whether or not the user is still paying for the service.
- When a user starts using the service from the website, an Intmax address is issued to the user as a deposit account. The user deposits or transfers the corresponding token to the Intmax address, and the deposited Intmax token is communicated to the Intmax Aggregator, which generates a proof of zkp for transfer at regular intervals by the Operator.
- If the Intmax transfer fails, the Smart Contract on Scroll will be notified that the subscription payment status has been temporarily suspended. By updating the status only in case of failure, the Atomicflow protocol is able to operate the Protocol sustainably because it can reduce gas costs.