UniversalLoginSDK

UniversalLoginSDK is composed of a set of smart contracts, a js lib, and a relayer that help build applications using ERC #725, #735, #1077 and #1078.

Get the SDK

Problems

Ethereum is too complicated for the average user

  • Security badge

    Security

    Funds storage remains an unsolved problem. Users don't back up their accounts, don't own hardware wallets are rarely used, and don't use Multisigs.

  • Web page

    Usability

    Usability is hard. A new Ethereum user needs to get familiar with wallets, plugins, exchanges before he can start using the desired application.

Solutions

UniversalLoginSDK

  • Wallet

    Personal multisig

    Personal multisig makes it easy to use multiple authentications and recovery options while allowing the interface to be simple to use.

  • Simple UI

    Meta transactions

    Meta transaction allows skipping a lot of complicated UI while providing a user simple and actionable UI.

  • Universallogin logo

    Universal Login

    Universal login allows starting interacting with a favorite application, without setup, or redundant software. Just log in and use.

How does it works?

You can confirm transaction from your mobile device.
Any external web app or dapp can propose a transaction. The key does not contain any funds.
Relayer takes signed messages and converts them into transactions. It gets a refund from the identity.
Identity seamlessly interact with other wallets on Ethereum network.
You can recover your lost keys using a trusted 3rd party.
You can confirm transaction from your computer.
Identity smart contract stores all your funds that can be managed by external keys.
Process

Getting started

With Universal Login SDK you can start creating applications in javascript in a few minutes.

								
$ npm install universal-login-sdk
								
							
								
import EthereumIdentitySDK from 'EthereumIdentitySDK';
const sdk = new EthereumIdentitySDK(
	'https://universal-login-relayer.herokuapp.com',
	'https://rinkeby.infura.io'
);

const [privateKey, contractAddress] = await sdk.create(
	'alex.my-id.test'
);

const message = {
	from: contractAddress,
	to: '0x88a5C2c290d9919e46F883EB62F7b8Dd9d0CC45b',
	data: '0x',
	value: '1000000000',
	gasToken: '0xEB62F7b8Dd9d0CC45b88a5C2c290d9919e46F883EB',
	gasPrice: 11000000000,
	gasLimit: 1000000
};

const transactionId = await sdk.execute(message, privateKey);
								
							

Making of

  • Advisor

    Alex Van de Sande

  • Core Team in Ethworks

    Marek Kirejczyk

    Justyna Broniszewska

Grants

  • ETH Price logo
  • Ethereum Community Fund logo

Open source contributors from all around the world.

Map

Jan K

vanjan

Lodz, Poland

Marek Kirejczyk

marekkirejczyk

Warsaw, Poland

Justyna Broniszewska

JustynaBroniszewska

Warsaw, Poland

George Spasov

Perseverance

Sofia, Bulgaria

Tullio Canepa

canepat

Genoa, Italy

Kyle Bryant

Kyrrui

Boston, USA

Shine Lee

shine2lay

Freemont, USA

Alex Van de Sande

alexvandesande

Rio de Janeiro