Skip to content

OnayHQ/onay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors



Table of Contents


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.

(back to top)

Built With

Onay is proudly supported by the following sponsors:

  • safe
  • WalletConnect
  • TheGraph
  • Base
  • Celo
  • PolygonZkEVM
  • Arbitrum
  • Scroll
  • Gnosis

These powerful tools and frameworks have helped us create a seamless user experience and ensure the scalability and reliability of our platform.

(back to top)

Getting Started

To get started with Onay, follow these steps:

  1. Connect your Safe Wallet to the Onay dapp at onay-app.vercel.app

  2. See the different token approvals you gave to the different contracts per token and network.

  3. 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.

  4. 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

https://www.figma.com/file/BCSigw0HAn5olNmrRArAOj/Onay---secure-your-approvals?type=design&node-id=0%3A1&mode=design&t=xDsfntwUL3HnenzH-1

Safe OnayModule Contract Addresses

Celo: 0x1e4feed269D99B67B2Bf70Ab5BAab3Ca46285C25

Scroll: 0x1e4feed269D99B67B2Bf70Ab5BAab3Ca46285C25

PolygonZK: 0x1e4feed269D99B67B2Bf70Ab5BAab3Ca46285C25

Arbitrum: 0x1e4feed269D99B67B2Bf70Ab5BAab3Ca46285C25

Gnosis: 0x62450f4067C79EfdBF2ABd5ae6F089d81cd6672d

Base: 0x1e4feed269D99B67B2Bf70Ab5BAab3Ca46285C25

Allowances Subgraphs API endpoints

Celo

Scroll

Polygon zkEVM

Arbitrum

Gnosis

Base

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:

  1. Clone the repo
    git clone https://github.com/OnayHQ/onay/
  2. Navigate to the project directory:
    cd packages/app
  3. Install the necessary dependencies:
    pnpm install
  4. Configure the environment variables:
  • Rename the .env.example file to .env.
  • Open the .env file and fill in the required configuration values.
  1. Start the development server:
    pnpm dev
  2. 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

(back to top)

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:

  1. Fork the Project
  2. Create a new branch for your feature or enhancement (git checkout -b feature/onay).
  3. Commit your Changes (git commit -m 'Add some onay')
  4. Push to the Branch (git push origin feature/onay)
  5. 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!

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Project Link: Onay Github

Onay Team

Nelson Galdeman - @neeel_eth
Diogo - @diogomartf
Leonardo - @berteotti_

(back to top)

Acknowledgments

We would like to express our gratitude to the following resources that have been invaluable in the development of Onay:

These resources have provided valuable insights, tools, and inspiration throughout the development process. We appreciate their contributions to the web development community.

(back to top)

Releases

No releases published

Packages

No packages published