Creating an Ethereum Reward Token for Your Business with the Paypr Contract Designer

The Paypr Company
10 min readNov 29, 2020

Have you ever wanted to create an Ethereum Reward Token to power up your business? It can be a pretty daunting task, especially if you need to hire a developer who knows how to program in the Ethereum ecosystem, such as coding in Solidity, and your own Ethereum account to set it all up with.

Our service can make this process really simple and painless, and it doesn’t require an Ethereum or Solidity developer. In fact, it doesn’t require a developer at all. Read on, and you’ll be up and running in no time with a new Ethereum token contract.

Login to the Paypr Contract Designer

If you haven’t done so already, start by creating a Paypr Contract Designer account and login to your account at https://designer.paypr.money/.

Once logged in, you will see the Welcome page or the Dashboard if you’ve already created a contract. This tutorial will assume you haven’t created any contracts, so you will likely see this screen:

Top of the Welcome page

We recommend following steps 1 and 2 of the Welcome page, which directs you to high-level content at The Paypr Company website. However, if you’re the type to just jump in and figure it out as you go along, that’s not a problem. This tutorial will walk you through the steps in any case.

Create Your First Contract

When you’re ready to start creating your reward token, you’ll be creating a new Ethereum Contract. Ethereum Contracts contain the code necessary to control which users own your reward token, how much it costs to purchase a reward token, and how to transfer this token to and from users.

If you’re on the Welcome page, click the Create Your First Contract button to get started. Or, you can click the Add Contract menu item on the left if you’d prefer. Either of these will take to the same place, the Add Contract page:

Add Contract page

You’ll notice that there are several kinds of contracts available. If you’d like to learn more about the different types of contracts, see the Contracts page of our website at https://www.paypr.money/contracts.

To create a reward token, all you need is the Consumable contract type. A Consumable is the most basic Ethereum contract type in our system. It’s very similar to other Ethereum tokens that you may be familiar with, such as USDC, MKR, DAI, etc.

To continue, choose Consumable and click Next.

Fill in Details for the Reward Token

This will bring you to the Add Consumable page:

Add Consumable page

Note

Contract note

The first thing you may notice is the note at the top of the page. This is just a reminder to you that the information you fill in here will be available on the public Ethereum network, visible to anyone who is interested. One of the things that makes blockchain technology valuable is that transactions are open for all to see and verify.

In addition, the details of our contracts are immutable. That means that once you create the contract, the details of that contract cannot be changed by you or anyone. This is an added security feature to ensure users of your contracts are not lured in with false pretenses and then things are changed after the fact. We know you wouldn’t do that to anyone, but not everyone is as noble as you, and we aim to protect consumers from bad actors as best we can.

Name

Name field

As you can see, the only required field to enter is the Name field. Every contract in our system has a name associated with it. This name identifies the contract to users, and all Ethereum tokens have a name that appears in their Ethereum wallets.

Though the name isn’t required to be unique, we recommend using a unique name so users don’t get confused by tokens with the same name. In addition, the name should be somewhat short.

Description

Description field

You can also add a Description to the token to better describe it for those who may not be familiar with your service. All contracts in our system can have a description, but it’s not required.

Ticker Symbol

Ticker Symbol field

The Ticker Symbol is a special field created specifically for Ethereum tokens. If you’ve used an Ethereum wallet before, you may have seen 3- or 4-letter short names for your tokens. This is the ticker symbol, and it’s similar to the stock ticker symbols. For example, USDC is the ticker symbol for the USD Coin token. It’s easier to see these tokens in a wallet on your phone, for instance.

You can choose to add a ticker symbol if you’d like, but it’s not required. If you expect your users to use your reward token with their own wallets and transfer them around, then we recommend you add a ticker symbol.

Ticker symbols in our system are limited to 8 letters or numbers, and they will always be in all caps.

Exchange Rate

Next, we’ll focus on the value of your reward token. This may be the most confusing part of setting up your Ethereum token, so we’ll go into a little more detail to help explain things.

Many Ethereum tokens can be bought and sold on exchanges such as Coinbase, Gemini, etc. You can spend fiat currency, such as US dollars, or exchange Ethereum, Bitcoin, or other tokens for a certain amount of any given token. This is very similar to the stock market, as the prices and exchange rates vary according to the whims of the market, creating quite a bit of volatility in the value of a particular token. It’s hard to run a business with that much volatility.

Our consumable contracts are a bit different. They have a public, unchanging exchange rate, defined at the time the contract is created. This exchange rate is based on the Paypr (ℙ) token, which is tied to DAI, which in turn hovers around $1 USD.

To put it plainly:

Paypr (ℙ) exchange rate

Within the Designer, you can buy 1ℙ for $1 USD. Or, you can purchase 1ℙ for 1 DAI directly through the Ethereum network.

This unchangeable exchange rate adds stability to the value of each and every consumable in our system.

Exchange Rate field

When defining the exchange rate, the number is how many of your reward token can be purchased for 1ℙ, or $1.

For example, a value of 100 means that 1ℙ (or $1) will purchase 100 of your reward token. Put another way, 1 of your reward tokens can be purchased for 0.01ℙ (or $0.01).

Bigger numbers in the Purchase Price Exchange Rate field mean that it will cost less for each reward token. Similarly, smaller numbers mean it costs more for each reward token.

A few examples:

Purchase Price Exchange Rate examples

Many rewards programs are 100 for $1, so 100 is a good starting point. Higher exchange rates will make it seem like your customers have more tokens and it costs less to get them, but numbers too high may be difficult to comprehend.

Using Different Exchange Rates for Buying and Selling

Sometimes you’ll want your contract to use a different exchange rate when your users purchase your reward tokens versus if they want to sell them back to you. This is a pretty advanced topic, and it’s not for everyone or every use case, so feel free to skip this section if it doesn’t apply to your rewards program.

Different Exchange Rates toggle and Intrinsic Value Exchange Rate field

If you’d like to have different exchange rates for buying and selling, first click the toggle next to Use different exchange rates for buying and selling. That will show a new field, Intrinsic Value Exchange Rate. This exchange rate is used when a user wants to sell their reward token back to you. If it’s different than the Purchase Price Exchange Rate, then it must be larger so that the user receives less Paypr (ℙ) back.

Some examples:

Different Exchange Rates examples

An advantage of using different exchange rates is that it will cost you less to mint the reward tokens on behalf of your users.

The main disadvantage of using different exchange rates is that it will not be worth as much when used in combination with other contracts as it costs to attain, which could discourage broad use of the reward token.

Understanding the Costs

Once you have entered in at least enough information to create the contract, such as the name in this case, you’ll see a cost section at the bottom of the form:

Costs section

This area is intended to make the costs involved in creating a contract and executing transactions against it as transparent as possible. Every time a transaction is executed against the Ethereum network, it costs something. This cost is called gas and it is provided to the Ethereum miners who maintain the network.

For the uninitiated, these Ethereum gas costs can be daunting. This is for several reasons:

  • The gas amount needed to execute a transaction is variable, based on the amount of computing power it takes to run it. It can be estimated, but only if you know how to program against the Ethereum network.
  • The gas price is based on what the market will bear for each transaction, and its price is very volatile throughout the day. If you don’t pay a high enough gas price for your transaction, your transaction may never make it onto the blockchain, or it could take several hours. Furthermore, the gas price is computed in Ether (ETH).
  • The price of Ether (ETH) fluctuates with market demand as well, and it is currently highly variable from day-to-day. It’s hard to keep track unless you’re watching it continually.

To make this simpler for you, our system takes all of the above into account and estimates all of the costs for you in USD.

There are three values shown when creating a new contract:

  • Estimated cost to create contract: this is the cost in USD to create this contract, given all of the values you’ve entered above. This cost is only paid once when the contract is created.
  • Current account balance: this is the amount of USD you have in your account with us. We charge in increments of $10 to reduce the credit card charges.
  • Typical cost of the transactions: this is the amount in USD that a typical transaction will cost after the contract is created. For example, when you mint your reward token for your user, it will cost about this amount given the current gas price and price of ETH. You can use this to estimate the future costs of using the system.

The note below the costs will appear if you don’t have enough of a balance in your account and your credit card will be charged to cover the difference, again in increments of $10.

Enter Payment Details

After you’ve filled out all of the details above, you’ll need to enter your payment details if you haven’t already done so.

Click the Enter Payment Details button at the bottom of the form. When you do, a form will appear for you to enter your credit card details:

Stripe Credit Card form

We never store your credit card details in our database. We partner with Stripe to validate and store the credit card information for our clients. In addition, we will only ever charge your credit card when you ask us to through the UI or API.

Create the Contract

Finally, once all of the contract information has been filled out and you’ve updated your payment information, you can click Create to start the contract creation process.

Once started, you’ll see the following screen indicating that it’s working. It takes about a minute (or more) to create new contracts, depending on how busy the Ethereum network is.

Create Contract Submission details processing page

Once created, you can see the details of your new reward token by clicking on the name of it under Contract on the submission details page:

Create Contract Submission details completed page

The contract details page will appear:

Contract details page

That’s all there is to it. You can create as many Ethereum tokens as you want using the instructions above.

Come back for tutorials on other contracts and how to use the Contracts SDK.

--

--

The Paypr Company
0 Followers

The Paypr Company has solutions for adding blockchain to your business.