Introducing StealthPay

StealthSwap
stealthswap
Published in
6 min readSep 18, 2020
https://stealthswap.app

The first privacy centric dApp built on the StealthSwap.

StealthPay is a trustless dApp for shielded payments on Ethereum at a much lower cost than current anonymous solutions. It uses our StealthSwap protocol under-the-hood for a seamless experience and maintaining anonymity between parties.

Features :

  • Non-custodial Local Accounts;
  • Fee no more expensive than a regular transaction;
  • Seamless UI for interacting with the protocol;
  • Runs entirely on your machine;
  • Verified on-chain Payments;
  • All Payments (ETH & erc-20 tokens) are Shielded;
  • Entirely Permissionless;
  • Censorship-resistant (no KYC , no User Data, no Analytics);
  • Run from anywhere (Mobile, Desktop or Web);
  • Transaction fees payable in OWL;
  • Instantly withdraw using Stealth Addresses.

While security and privacy are our paramount priority, UX is central to StealthPay design. We aim for improvements that reduce friction and complexity, making StealthPay a user friendly experience. The best way to get an impression about it is to try out StealthPay yourself — it takes less than 10 minutes.

Get Started With Our Guide or jump directly to the app

_________________________________________________________

This guide will show you how to use the StealthPay app on the Ethereum mainnet.

Please only use MetaMask on Google Chrome or Brave Browser, no other wallets or browsers have been implemented in version 1.0 of StealthPay.

1. Configuring MetaMask

To showcase all three aspects of StealthPay (sending, receiving, and withdrawing), you’ll need three separate MetaMask accounts.

Create 3 different Ethereum accounts in your MetaMask app.

“StealthSwap Send” is the account we’ll be using for sending payments through StealthPay and will be referred to as your “Send” wallet for the rest of the tutorial.

“StealthSwap Receive” is the account we’ll be using for receiving payments through StealthPay and will be referred to as your “Receive” wallet for the rest of the tutorial.

“StealthSwap Withdraw” is the account we’ll be using for withdrawing payments through StealthPay and will be referred to as your “Withdraw” wallet for the rest of the tutorial.

Later in the tutorial, you’ll see why there is both “Receive” and “Withdraw” wallet.

Now add the OWL token to your “Send” wallet by pressing “Add Token” at the bottom of your MetaMask window.

Go to “Custom Token” and input the OWL contract address

0x187D87f1821Afc3C841C71b4c859238bb352f96d

2. Getting OWL Tokens

After you’ve successfully created your Ethereum accounts, and added the OWL ticker to your token list on MetaMask, you will need to acquire some OWL tokens. You can use Uniswap exchange to buy OWL with Ethereum or various ERC-20 tokens.

Trade OWL/ETH on Uniswap

Make sure you use the “Send” address to receive your OWL tokens.

3. Obtaining your ENS domain

For withdrawing your payments on StealthPay, you need an ENS domain. This is so the StealthPay protocol can fetch your public keys. Switch to your “Receive” wallet on MetaMask and head to https://app.ens.domains/ to buy an ENS domain. Input a domain you’d like to use for this demonstration.

The longer the domain name, the cheaper it is to purchase

If your domain is available, click it and then follow the steps listed to register the domain. It’ll ask you to approve two different transactions, one when you press “Request to Register” and another a minute after the first transaction gets approved. Accept both on MetaMask.

When you’ve bought your domain, you’ll see a button that says “Manage,” click it and then click the gray box that says “Reverse Record: not set”

Your ETH address and ENS domain should automatically be filled in, if not then fill in your “Receive” wallet’s ETH address and ENS domain. Press save and accept the transaction on MetaMask. After the transaction is confirmed, you’ll own that ENS domain in which you can receive transactions from like you would a regular Ethereum address.

4. Creating an Account for Receiving Payments

ALL DATA INPUTTED INTO THE STEALTPAY DAPP ARE STORED LOCALLY, NOTHING IS SENT TO US OR ANY 3RD PARTY JUST LIKE HOW METAMASK STORES DATA LOCALLY

While connected to your “Receive” wallet on MetaMask still, go to https://stealthpay.app. Upon opening the site, you’ll be visited by our Dapp’s main page. Connect your MetaMask account by pressing the button on the upper right corner.

After you’ve connected your “Receive” wallet, proceed to the sign-in page and follow the steps to create an account. This is so you can create a password, backup your seed, and receive payments on the StealthPay Dapp securely.

Make sure to keep your password memorized for later in the tutorial. If you clear your cache or forget your password, you can always unlock your account with your private keys (Once again, no information is stored on our servers. Everything is stored locally)

5. Sending Payments via StealthPay

Now that you’ve setup the ENS domain and StealthPay account for your “Receive” wallet, you’re ready to test out sending your first anonymous transaction. Firstly you must refresh your browser, switch to your “Send” wallet on MetaMask, connect MetaMask to StealthPay then go to the transfer page located on the left.

Input the ENS domain that you bought earlier under your “Receiver” wallet. Select ETH under “Select the assets…” and input the amount you’d like to send.

Once you click the sign and transfer button, MetaMask will ask you to confirm two transactions. One for approving the spend limit of your OWL tokens (they are used as gas for your transaction) and the second transaction for transferring the ETH amount inputted. When both of these transactions have confirmed, you can now receiving your transactions anonymously.

6. Receiving payments via StealthPay

To withdraw your ETH from StealthPay, switch from your “Send” wallet back to your “Receive” wallet on MetaMask. Proceed to the receive page on the StealthPay Dapp, located on the left, and input your password to login. You should see something similar to this when you log in.

Press the green “Withdraw” button to send the ETH, this window below will pop up.

Input your “Withdraw” account’s ETH address, press send, and confirm the transaction on MetaMask. Go check your “Withdraw” wallet’s etherscan, you’ll see that the ETH was exchanged through the contract and breaking any link between your “Send” and “Receive” wallets and maintaining complete anonymity.

If you have any notes/questions about how to use StealthPay, please post them in the Telegram channel.

🔗 Get in touch

--

--