Secure your on-chain approvals and sleep with ease.

Overview

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)

You might also like...
A safe implementation of the secure remote password authentication and key-exchange protocol (SRP), SRP6a and legacy are as features available.

Secure Remote Password (SRP 6 / 6a) A safe implementation of the secure remote password authentication and key-exchange protocol (SRP version 6a). Ver

Cross-chain hub for Crypto Asset on Polkadot

ChainX ChainX is a community-driven project built on the next-generation blockchain framework substrate, the largest Layer-2 network of Bitcoin using

Official implementation of the YeeCo Root Chain (Layer 1)
Official implementation of the YeeCo Root Chain (Layer 1)

yeeroot Official implementation of the YeeCo Root Chain (Layer 1) YeeCo is a permissionless, secure, high performance and scalable public blockchain p

EVM compatible chain with NPoS/PoC consensus

Reef Chain Reef chain is written in Rust. A basic familiarity with Rust tooling is required. To learn more about Reef chain, please refer to Documenta

Basilisk node - cross-chain liquidity protocol built on Substrate

Basilisk node Local Development Follow these steps to prepare a local Substrate development environment 🛠ī¸ Simple Setup Install all the required depe

The Solana Program Library (SPL) is a collection of on-chain programs targeting the Sealevel parallel runtime.

Solana Program Library The Solana Program Library (SPL) is a collection of on-chain programs targeting the Sealevel parallel runtime. These programs a

Examples of Solana on-chain programs

spl-examples List of Solana on-chain programs which demonstrate different aspects of Solana architecture. 01__state It's a counter program. Each user

Synchronized shadow state of Solana programs available for off-chain processing.

Solana Shadow The Solana Shadow crate adds shadows to solana on-chain accounts for off-chain processing. This create synchronises all accounts and the

🔗 Tool for rebasing a chain of local git branches.

git-chain Tool for rebasing a chain of local git branches. Motivation Suppose you have branches, each depending on a parent branch (usually called "st

User-friendly secure computation engine based on secure multi-party computation

CipherCore If you have any questions, or, more generally, would like to discuss CipherCore, please join the Slack community. See a vastly extended ver

CipherMode Labs 356 Jan 5, 2023
A simple and secure rust command-line tool to protect your text by encrypting and decrypting it using the robust AES-256 algorithm.

Secret Keeper A simple and secure command-line tool to protect your text by encrypting and decrypting it using the robust AES-256 algorithm. Built wit

Kunal Bagaria 9 May 11, 2023
Making composability with the Zeta DEX a breeze, FuZe provides CPI interfaces and sample implementations for on-chain program integration.

Zeta FuZe ?? Zeta FuZe FuZe is Zeta's cross-program integration ecosystem. This repository contains the Zeta Cross Program Invocation (CPI) interface

Zeta 39 Aug 27, 2022
The protocol are designed and made for the future of cross-IP, cross-chain metaverse.

Avatar-protocol 化čēĢåčŽŽ This project demonstrates how to use the Solana Javascript API to interact with programs on the Solana blockchain. The project co

Wind-protocol 1 Jan 10, 2022
A very bare-bone Block Chain demo that purely implemented by Rust and yew

Intro bloc is one of bare-bone blockchain demo written by Rust, Yew during my learning BlockChain, about years ago. see demo here It just demonstrate

null 4 Dec 16, 2022
An open source desktop wallet for nano and banano with end-to-end encrypted, on chain messaging using the dagchat protocol.

An open source wallet with end-to-end encrypted, on chain messaging for nano and banano using the dagchat protocol.

derfarctor 22 Nov 6, 2022
ARYA Network is a polkadot/substrate based chain for Non-fungible Token platform on which we can own sell and buy the NFT's on polkadot network.

ARYA Network ARYA Network is a polkadot/substrate based chain for Non-fungible Token platform on which we can own sell and buy the NFT's on polkadot n

Pankaj Chaudhary 6 Dec 20, 2022
Automatically assess and score software repositories for supply chain risk.

Hipcheck Hipcheck scores risks for software projects; yours and your dependencies. It analyzes repositories to assess risks, review development practi

The MITRE Corporation 6 Jan 26, 2023
CLI tool for deterministically building and verifying executable against on-chain programs or buffer accounts

Solana Verify CLI A command line tool to build and verify solana programs. Users can ensure that the hash of the on-chain program matches the hash of

Ellipsis Labs 5 Jan 30, 2023
`llm-chain` is a powerful rust crate for building chains in large language models allowing you to summarise text and complete complex tasks

llm-chain ?? llm-chain is a collection of Rust crates designed to help you work with Large Language Models (LLMs) more effectively. Our primary focus

Sobel IO 36 Apr 6, 2023