User Guide for StealthPay v2

StealthSwapCross
stealthswap
Published in
8 min readDec 17, 2020

The release of StealthPay v2 brings a variety of upgrades, including the integration of the Gas Station Network , updates to the creation of stealth addresses, and cheaper gas fees for all users. For complete information about these upgrades, please refer to the StealthPay v2 change log.

In this guide, you will learn how to privately transact using the latest version of StealthPay. There will be 3 main parts to this tutorial.

If you want to test all functions of StealthPay, this guide is prefaced with a tutorial on how to create the necessary accounts on MetaMask.

  • In part one, you will go over how to send anonymous payments through StealthPay
  • In part two, you will take the steps to receive funds through StealthPay, which includes going through the process of setting up your StealthPay account and the steps to setting up your very own ENS (Ethereum Name Service) domain name through https://app.ens.domains/.
  • Finally, in part three, you will see the very simple process of how to withdraw funds from StealthPay to an Ethereum address of your choosing.

Preface — Setting up MetaMask for Testing

NOTE: This part of the guide is for testing all functions of StealthPay. If you are not testing every aspect and just need to send or receive/withdraw then skip this part.

In this part of the guide, you will learn how to navigate through MetaMask, create accounts, and add the OWL token address in MetaMask so you can see your balance.

First, click on the circle in the top right hand corner to view your Ethereum accounts.

Next, you will need to click “create account”, and make an account each action.

For the sake of this tutorial, we will be going over all 3 parts of transacting through StealthPay. The accounts in this tutorial are named:

  • “StealthSwap Send” for sending funds through StealthPay, and holding OWL token to use for the required StealthPay fees. You cannot use StealthPay without paying the required 0.1 OWL per transaction
  • “StealthSwap Receive” for receiving funds from a sender, and setting up the ENS domain associated with receiving funds
  • “StealthSwap Withdraw” for moving private payments out of StealthPay into your personal wallet

Your MetaMask accounts tab should look similar to this. From this menu, you can switch between all of your Ethereum accounts, which you will have to do later in the guide.

Notes: “StealthSwap send” is the Ethereum account you will be using for sending payments through StealthPay v2. This account will be referred to as “Send Account” for the rest of the guide.

“StealthSwap receive” is the Ethereum account you will be using for receiving payments through StealthPay v2, and setting up the ENS domain associated with your StealthPay account. This account will be referred to as “Receiving Account” for the rest of the guide.

“StealthSwap withdraw” is the Ethereum account you will be using for withdrawing payments from StealthPay to your destination wallet. This account will be referred to as “Withdrawal Account” for the rest of the guide.

Part 1. Sending funds through the StealthPay app

The account used for sending funds through StealthPay, and holding OWL token to use for the required StealthPay fees will be called “Send Account” in this guide

Head over to the StealthPay v2 webpage to begin sending transactions. On the left “Pages” bar, you will click on the “Transfer” tab to make a anonymous payment. Enter your ENS domain associated with your address into the “Receiver’s identifier” field. Select what ERC-20 token you want to transact in the list below that, and enter the amount of the selected asset in the final field.

Enter the ENS domain name you created earlier in the tutorial

Once you click “Sign and Transfer”, MetaMask will ask you to approve 3 separate transactions.

  • The first is to approve .1 OWL transaction fee all payments made through StealthPay require
  • The second is the to approve sending the ERC-20 token you selected
  • The third is approving the transaction being sent to the smart contract

Once the final transaction has been approved, your funds will be sent to your “Receive Account” address through StealthPay. After this transaction is confirmed on the Ethereum blockchain, you will be able to withdraw these funds to whichever Ethereum address you desire.

After you have created your Ethereum accounts in your MetaMask, and added the OWL contract address into your custom tokens page, you will need to buy some OWL tokens. All transactions done through StealthPay require a 0.1 OWL fee. Uniswap is the best exchange to do this, as you can use Ethereum or most ERC-20 tokens to purchase OWL token.

Trade OWL/ETH on Uniswap

IMPORTANT: Please make sure you are using your “Send Account” address to receive your OWL tokens from Uniswap or where ever you are acquiring them from.

Part 2. Receiving funds through StealthPay

The account you use for receiving funds from a sender, and setting up the ENS domain associated with receiving funds will be called “Receiving Account” throughout this guide

To withdraw your payments from StealthPay v2, you MUST have an ENS domain registered to your Ethereum address. This allows the StealthPay protocol to fetch your public keys. You must switch to your “Receiving Account” on MetaMask. All payments sent to you via StealthPay are routed through an ENS domain before they are available for withdrawal.

Registering an ENS domain

Go to https://app.ens.domains/ to purchase an ENS domain with Ethereum, and input a domain name you’d like to use. Once you enter your desired domain name, click “search” to see if it is available.

Note: the longer the domain name is, the cheaper it will be to purchase. The lowest cost of an ENS name is 0.009 ETH. There will also be fees associated with the following transactions. You will need to fund your “Receive Account” with enough Ethereum to purchase the ENS domain and pay for the fees.

Search for your desired ENS domain name, and click search. The longer the domain, the cheaper it is to purchase.

If the name you entered is available, you should be taken to a screen like this.

Click the domain name, and it will take you to a payment processing screen. If you are satisfied with your domain name, click the “request to register” button at the bottom right corner.

MetaMask will open on your browser and ask you to approve two separate transactions; one when you press “request to register”, and another about a minute after the first transaction gets approved. Accept both of these on MetaMask. The instructions on the website outline the steps for you. Do not refresh your browser while doing this.

After the process of registering the domain is complete, you will see new options at the bottom right of the screen. Click the option that says “Set reverse record”

On this new screen, you will need to expand the Reverse record page so you can input the ENS domain name you just purchased. Your “Receive Account” Ethereum address should be populated in the field above it. After you have done that, save the changes. Saving changes on ENS domains will require you to submit a new transaction through MetaMask.

After the reverse record transaction has been confirmed in MetaMask, you will now have your own ENS domain which can receive Ethereum and ERC-20 tokens, just like a regular Ethereum address can. Now you are ready to receive funds through StealthPay v2.

Setting up your StealthPay account

While you are still connected to the address that has your ENS domain associated with it, proceed to https://stealthpay.app to set up your account. Upon opening the site, you’ll see the dApp’s main page. Connect your MetaMask account by pressing the button on the upper right corner. MetaMask will open automatically and ask you to approve a connection with StealthPay.

After you have connected your wallet to StealthPay, navigate to the “Pages” sidebar on the left and click the Account tab to create your StealthPay account. If you followed the steps above correctly, you should see this message under the “ENS Domain Verification” section.

Next, click continue towards the bottom. You will be asked to create a secure password for your account, and download a backup seed key. The last step of this section is to sign the ENS domain authentication with MetaMask.

Now, you are ready to receive ERC-20 tokens from anyone through the StealthPay app. Instead of an address, you will use your ENS domain name to receive all funds. The next section will dive into the process of how you can withdraw funds from this account.

Part 3. Withdrawing your funds from StealthPay

The Ethereum account you will be using for withdrawing payments from StealthPay to your destination wallet will be called “Withdraw Account” in this guide

When you are ready to withdraw your payment to your “Withdraw Account” address, while logged into StealthPay, go to the “Receive” tab on the left. You will be prompted to enter your password and log in. You will be taken to a new page that has all of your received transactions.

all passwords are stored locally which means nothing is sent to our servers

Click the withdraw button on the right hand side to withdraw the tokens received. You will be prompted to enter an address or ENS domain. In this case, we will use our Ethereum address from our “Withdraw Account”. Once you withdraw the funds, they will be sent from the StealthPay smart contract to the address you chose.

StealthPay v2 paves the way for StealthSwap’s future. Our goal is to create an ecosystem where anyone preserve their privacy while using Ethereum, and this is just the start. Check out our roadmap to see what is coming to StealthSwap next.

If you have any questions about the process of using StealthPay v2, please reach out to our community in the StealthSwap Telegram group. And use the following links to get updates about the project.

--

--