All Projects → polymorpher → one-wallet

polymorpher / one-wallet

Licence: Apache-2.0 license
1wallet - unconventional keyless, non-custodial wallet secured by Google Authenticator. EVM-compatible, smart contract operated, with composable security.

Programming Languages

javascript
184084 projects - #8 most used programming language
solidity
1140 projects

Projects that are alternatives of or similar to one-wallet

otp-authenticator-webapp
A 'Google Authenticator' like Single Page Application
Stars: ✭ 69 (-18.82%)
Mutual labels:  otp, otpauth
Dharma Smart Wallet
An upgradeable, meta-transaction-enabled smart wallet for earning interest on stablecoins while retaining custody of funds, with an added security backstop provided by Dharma Labs.
Stars: ✭ 159 (+87.06%)
Mutual labels:  wallet, evm
DPOTPView
Customisable OTP view and Passcode view
Stars: ✭ 52 (-38.82%)
Mutual labels:  otp, otpauth
passwordless
Passwordless authentication server, supports OTP, WebAuthn, plan to implement TOTP and mobile biometric authentication
Stars: ✭ 34 (-60%)
Mutual labels:  otp, otpauth
extract otp secret keys
Extract two-factor authentication (2FA, TFA) secret keys from export QR codes of "Google Authenticator" app
Stars: ✭ 217 (+155.29%)
Mutual labels:  otp, otpauth
chrome-extension-wallet
Harmony Chrome Extension Wallet
Stars: ✭ 54 (-36.47%)
Mutual labels:  harmony, wallet
harmony-ops
Harmony Ops Master Repository.
Stars: ✭ 36 (-57.65%)
Mutual labels:  harmony, harmony-one
KWVerificationCodeView
A customisable verification code view to capture OTPs
Stars: ✭ 83 (-2.35%)
Mutual labels:  otp, otpauth
EVM-Simulator
EVM-Simulator bachelor's thesis.
Stars: ✭ 36 (-57.65%)
Mutual labels:  evm
burstcoin-mobile
Burstcoin mobile wallet for Android and iOS https://play.google.com/store/apps/details?id=org.icewave.burstcoinwallet
Stars: ✭ 22 (-74.12%)
Mutual labels:  wallet
go-cita
A Go implementation of CITA. https://docs.nervos.org/cita
Stars: ✭ 25 (-70.59%)
Mutual labels:  evm
piWallet
No description or website provided.
Stars: ✭ 17 (-80%)
Mutual labels:  wallet
albedo
Security-centric, developer-friendly, easy-to-use delegated signer and keystore for Stellar Network
Stars: ✭ 57 (-32.94%)
Mutual labels:  wallet
alias-wallet
Official Alias source code repository
Stars: ✭ 5 (-94.12%)
Mutual labels:  wallet
otpauth-rs
Two-step verification of HOTP/TOTP for Rust.
Stars: ✭ 27 (-68.24%)
Mutual labels:  otpauth
wallet
Cross chain browser wallet extension
Stars: ✭ 79 (-7.06%)
Mutual labels:  wallet
hathor-wallet-mobile
Hathor official mobile wallet
Stars: ✭ 18 (-78.82%)
Mutual labels:  wallet
submarine sends
A proof-of-concept implementation of Submarine Sends for Ethereum
Stars: ✭ 29 (-65.88%)
Mutual labels:  evm
pigame
Just a game server template for Erlang/OTP.
Stars: ✭ 25 (-70.59%)
Mutual labels:  otp
RaiBlocksPHP
A bunch of PHP methods to build and sign transactions
Stars: ✭ 20 (-76.47%)
Mutual labels:  wallet

1wallet core + web app / wallet infrastructure / modulo.so OTP Wallet infrastructure

Disclaimer: Issues or suggestions related to the iOS app implementation (Timeless) should not be reported to this repository or the developers here. If you experience any issue with that app or any frontend implementation other than 1wallet.crazy.one, please consult with the corresponding app's developers accordingly.

wallet infrastructure (1wallet core + web app)

The wallet infrastructure (1wallet core + web app) is an open source project, consisting of the core (libraries, contracts, tests), the relayer backend, a web-browser based client, and potentially another browser-extension based client (in development). You may use it as the infrastructure to build your own wallet or applications, but we are not responsible for any theft, loss, or security issues. We will not be providing any guidance or service, beyond issues which we deem to be of public interest (at our discretion).

Modulo (Pro / commercial version)

For businesses requiring guidance for integration, security protection, loss prevention, service-level agreements, reliable APIs, cross-chain use cases, or custom solutions, please checkout Modulo (https://modulo.so) - Advanced infrastructure for building secure, frictionless, programmable crypto wallets.

Overview

1wallet is designed for people who want the best and the latest from the world of crypto, but do not want to deal with senseless "mnemonic words", "private keys", or "seed phrases".

You don't need to be technical to use 1wallet. It is:

  • Simple: to create a wallet, just scan a QR code using the Google Authenticator app
  • Secure: authorize transactions with 6-digit code from Google Authenticator. No private keys or passwords to take care of.
  • Durable: easily restore wallet by scanning QR code exported by Google Authenticator, or recover funds using another wallet.
  • Smart: configurable spending limit, composable security, and auto-recover mechanisms. Imagine a (physical) wallet that has an embedded computer - it can do a lot more than a plain old wallet that only carries your money around.

Try it at https://1wallet.crazy.one

Technical Blurb

1wallet is an unconventional keyless, non-custodial smart contract wallet.

As a smart contract wallet, it can do many things a traditional wallet couldn't do: setting up daily spending and transfer limit, recover funds using another address, automatically track tokens (ERC/HRC-20, 721, 1155), automatically interact with other smart contracts, and a lot more.

As a keyless wallet, 1wallet is protected by dynamically generated one-time-password from Google Authenticator every 30 seconds. No private key or password is stored at the client. This removes the biggest vulnerability for hacking and theft: you cannot lose private keys if you don't have it! It also removes the hassle of managing them and being forced to remember or write down a bunch of random recovery phrases.

Since Google Authenticator operates offline and is well insulated1 on your phone, it is much more secure than a private key wallet which usually stores a password protected private key on your hard drive in a file easy-to-access location, such as MetaMask. Once your wallet file is copied and your password is leaked, your money is gone.

1wallet is non-custodial. Only you, who controls the Google Authenticator that scanned the setup QR code, can access and control the wallet. The wallet's operations do not rely on any centralized server operated by any company.

1wallet is EVM compatible and may operate on multiple networks. It was first launched on Harmony network in Sep 2021

[1]: Unless you use rooted or jailbreak devices, in which case you need to take care of security insulation by yourself

Design and Technical Specification

Please visit the Wiki page: https://github.com/polymorpher/one-wallet/wiki

Quick Start

We assume you are on macOS or Linux. Windows is not supported as a development environment at this time.

First, you need to install all essential dependencies and apply a patch to one of the dependencies. To do this, simply run the following at the root directory of this project:

./scripts/setup.sh

Next, try starting a local web client:

cd code/client
yarn run dev

Follow the link from terminal (https://localhost:3000), you should now see 1wallet client in your browser, hosted locally.

For more advanced setup, such as using a locally hosted relayer (/code/relayer), the command line interface (/code/cli), and debugging the smart contract via Truffle (/code), please refer to README file in the corresponding folders:

Directory Structure

  • /code: Primary code base. Contains all code related to 1wallet.
  • /wiki: Mirroring Wiki and Protocol, so people can contribute and make pull requests.
  • /smartotp: Early research code from SmartOTP, created by Ivan Homoliak, mildly refactored by @polymorpher in ES2020 for debugging and running on Harmony network. Smart contract, testing, and authenticator code only.
  • /legacy: legacy code forked from an early TOTP demo by Quoc Le, refactored and rebuilt by @polymorpher for testing and benchmarking, and discontinued in June 2021.

Discussions

Please visit our issues page.

License

See https://github.com/polymorpher/one-wallet/blob/master/LICENSE. The license shall be governed by and construed in accordance with the laws of the State of California, United States of America. I accept services of processes by email and Telegram chats @aaronqli.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].