🏛 Architecture
Introduction
Algoz works on top of a 2/2 multisig. Anyone can copy-paste the building blocks from these docs and enable bot filtering instantly ✨
We currently only support Google reCaptcha but because of the architecture of the project we can easily plug in other services in the future too.
How it works
App Owner Side
- app owner uses the building blocks to write the contract
- Create Google ReCAPTCHA keys: you need to create your Google ReCAPTCHA keys, head over and sign up for an API key pair.
- Register for an app Request for an
application_id
on Discord (we are shipping an automated process soon 🤔) - the API generates an authentication wallet for the app and sends the address back
- the app owner can send a small amount of funds to the authentication wallet to enable bot filtering
Note: You can also use Google ReCAPTCHA v3, which is the latest version of Google ReCAPTCHA.
User Side
With the help of the building blocks, wherever the user was calling a function and executing it, every call gets converted into a transaction proposal. Every user has their own miltisig on all Algoz-compatible contracts. If the user is interacting for the first time, a multisig has to be created with them. The multisigs are 2/2 and have the user's address and the app's authentication wallet as signers.
- the user calls a function as usual but with a multisig account
- instead of the function being executed normally, it generates a transaction proposal
- the user is then asked to complete the captcha and the proposal account id and the captcha response is sent to the backend
- captcha response is verified on the backend and if it matches, the app's authentication wallet is used to approve the transaction proposal and the function is executed