Table of Contents
- Table of Contents
- About The Project
- Built With
- Getting Started
- Contributing
- License
- Contact
- Acknowledgments
About The Project
Onay is a security system that secures your token approvals by monitoring the contract security breaches and react by revoking the permissions for you if a smart contract exploit is detected. Without compromising any custody.
Onay means "Approval" in Turkish and took inspiration from the streets of Instanbul.
Built With
Onay is proudly supported by the following sponsors:
These powerful tools and frameworks have helped us create a seamless user experience and ensure the scalability and reliability of our platform.
Getting Started
To get started with Onay, follow these steps:
-
Connect your Safe Wallet to the Onay dapp at onay-app.vercel.app
-
See the different token approvals you gave to the different contracts per token and network.
-
Secure your token approvals by adding OnlyModule to your Safe through the dapp. It gives the Security Council permission to revoke your approval in case of a security breach in a Smart Contract.
-
If a security breack happens the Security Council revokes your approvals inmediatly, even if you are sleeping, keeping your funds SAFU.
The Security Council
The Security Council is a Multi-Sig conformed by DAOs, security organizations and independent security researchers. Any member of the Council has permissions to hit the Red Button. Which will execute bulk revokes in one transaction for the potentially affected wallets. Since the Security Council can only revoke allowances, there is no extra risk to use this module. The worst harm it can do is to revoke all your allowances for no reason, but there is no incentive nor benefit to do so.
Figma
Safe OnayModule Contract Addresses
Celo: 0x1e4feed269D99B67B2Bf70Ab5BAab3Ca46285C25
Scroll: 0x1e4feed269D99B67B2Bf70Ab5BAab3Ca46285C25
PolygonZK: 0x1e4feed269D99B67B2Bf70Ab5BAab3Ca46285C25
Arbitrum: 0x1e4feed269D99B67B2Bf70Ab5BAab3Ca46285C25
Gnosis: 0x62450f4067C79EfdBF2ABd5ae6F089d81cd6672d
Base: 0x1e4feed269D99B67B2Bf70Ab5BAab3Ca46285C25
Allowances Subgraphs API endpoints
Subgraph Example Query By Address (Arbitrum)
Query
{
accounts(where: {id:"0x00fe70b0a6a4e4a21d6061292cd6ff44409b7d84",allowances_: {allowance_gt: "0"}}) {
id
allowances {
allowance
token
spender
}
}
}
Output
{
"data": {
"accounts": [
{
"id": "0x00fe70b0a6a4e4a21d6061292cd6ff44409b7d84",
"allowances": [
{
"allowance": "115792089237316195423570985008687907853269984665640564039457584007913129639935",
"token": "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
"spender": "0x9aed3a8896a85fe9a8cac52c9b402d092b629a30"
}
]
}
]
}
}
Installation
To get started with Join installation, follow these steps:
- Clone the repo
git clone https://github.com/OnayHQ/onay/
- Navigate to the project directory:
cd packages/app
- Install the necessary dependencies:
pnpm install
- Configure the environment variables:
- Rename the .env.example file to .env.
- Open the .env file and fill in the required configuration values.
- Start the development server:
pnpm dev
- Open your web browser and visit http://localhost:3000 to access the Join application.
Please note that the above steps assume you have Node. Node and yarn (package manager) installed on your machine
Contributing
At Onay, we believe that contributions from the open-source community are what make our project truly amazing. We appreciate any contributions you make and welcome your ideas, suggestions, and enhancements.
If you have a suggestion or improvement that would help make Join even better, here's how you can contribute:
- Fork the Project
- Create a new branch for your feature or enhancement (
git checkout -b feature/onay
). - Commit your Changes (
git commit -m 'Add some onay'
) - Push to the Branch (
git push origin feature/onay
) - Open a Pull Request to submit your changes.
We also encourage you to open an issue with the "enhancement" tag if you have any ideas or suggestions that you'd like to discuss with the community.
Thank you for being part of the Onay community and for helping us make a difference!
License
Distributed under the MIT License. See LICENSE.txt
for more information.
Contact
Project Link: Onay Github
Onay Team
Nelson Galdeman - @neeel_eth
Diogo - @diogomartf
Leonardo - @berteotti_
Acknowledgments
We would like to express our gratitude to the following resources that have been invaluable in the development of Onay:
- Wallet Connect Docs
- The Graph Docs
- Safe Docs
- Gnosis Docs
- Scroll Docs
- Base Docs
- Polygon zkEVM Docs
- Arbitrum Docs
- Celo Docs
- Gnosis Docs
These resources have provided valuable insights, tools, and inspiration throughout the development process. We appreciate their contributions to the web development community.