Stake Applications

Users can create stakes on PaySwap to request for a multitude of products/services (finding a ride/driver, finding a lender, finding a date, etc.).

You can browse through all current requests that have been created by going to the stakemarket's page and using the various filters to only list the type of requests you are interested in.

To only view requests pertaining to a certain channel, you will need to go that channels Contracts > Stakes' tab

Applying For A Request/Stake

Once you've found a stake/request you are interested in, you can apply for it in case that request/stake is still looking for new applicants. To apply for a request/stake, go to the panel of your stake and click on the Control Panel button

In the control panel menu, click on the Apply button, fill in the form with all the information necessary making sure you've read and understood what each parameter does and that you've provided the right value for it.

When users create stakes to request for services/products, they input a multitude of parameters which you can read from the stake's control panel.

Click on the first stake to view its parameter since the first stake is the one created by owner. In the image above, the first stake is the stake 9. Clicking on it, reveals the parameters of the request.

We can see the stake 9 is requesting for a product/service in which its owner will be paying 0.1 USD (Amount Receivable - we know it's in USD since at the very top of the parameters' section we can read Stake uses USD) every 10 minutes (Period Receivable). Our user has already deposited 0.099 USD in the stake (Paid Receivable).

To get further details about the contract, you can read its product name and its terms. We can read that the product name for our stake 9 is Ride Request.

To view the terms, click on the Terms button in the parameters' section. Clicking on the Terms' button of our stake reveals the pop-up below:

So our stake is a request for a ride to take the owner from Marseille to Paris. The owner is willing to pay 0.1 USD for each 10 minutes that the ride takes.

Let's suppose a case where our user is willing to create an incentive to get riders to take them from Marseille to Paris as fast as possible. The user might input a non-periodic (Period Receivable set to 0) payment of 100 USD (Amount Receivable set to 100) and for each 30 minutes (Period Payable set to 30 minutes), an amount of 1 USD (Amount Payable) will be subtracted from the 100 USD.

Stakes enable you to create all sorts of payment rules for your contract and give an amazing amount of flexibility when creating requests.

Make sure you always understand a request/stake before applying to it. If you need further details on a request you can directly contact its owner in case he/she leaves contact details in the contract's terms.

In our example above, our user has not left any contact information but we can still open his/her profile page by searching for it on the profile page with the user's wallet address (which we can copy from the parameters' section by clicking on the icon next to Account Address).

On the user's profile panel, we can view all the contact information our user has attached to his/her profile, each contact info is represented by a logo. In our image below, our user has 2 contact info attached to the profile which we can use to contact him/her in order to get further details on the request before applying for it.

Not all users will leave contact information though, and you might just have to go with what you read in the request's terms and parameters' section.

Once you've applied for your request, you can see your application added to the list of applications to your stake. To view that list, click on the Toggle Applications button from your stake's panel

In case your application is the first one, you might have to reload the page for the Toggle Applications' button to appear. Clicking on it, reveals the list of applications like in the image below

Accepting Applications

In our example image above, we only have one application coming from Stake 10. The driver has put a deadline of 24 hrs on his/her application, meaning if we do not respond in the next 23 hrs 57 minutes, the request becomes invalid.

Stake applications can propose different terms for the contract, so before accepting an application, make sure you agree with their terms. In the case of our ride request, we are looking for a ride from Marseille to Paris in which we will be paying 0.1 USD every 10 minutes of the ride (like seen in the previous section).

So before accepting our application, let's make sure the stake is not revising our payment rules. We can read that the stake has no tokens locked in it yet (Paid Receivable is 0) which is not a problem since we are not requiring the stake owner to lock anything. Some stakes might request for the stake applicants to lock some amount of tokens as proof of good faith (read the section below for further details on this).

We can also read that stake 10 is willing to be paid 0.1 USD (Amount Payable) each 10 minutes of the ride (Period Payable) which is exactly what we proposed so let's accept the application.

You might need to have more information about the applicant to accept him/her as your driver. Some applicant will attach a bounty to their stakes or their profile IDs so you view their profiles which might contain badges from trusted auditors attesting to their trustworthiness, ability to drive, etc.

To view all the badges of a certain user, go to his/her profile page and then under the NFTs > SSI tab

Once you've decided to accept a certain application, click on the Accept button at the bottom of its panel

The form below pops up so you can enter a time from which the contract should become activated; that's when the contract start counting from. You can also specify whether you want to close out the contract from further applications (pick Yes if you do not wish to receive anymore applications).

Validate and confirm the transaction. This should add Stake 10 as a partner to your stake like in the image below. Clicking on it reveals its parameters' section.

Congratulations! You have successfully accepted an application to your ride request. You should now see that the agreement state of both your stakes have changed from 0 to 1. Stakes have 5 agreement states:

  • 0: stake is waiting for a partner stake

  • 1: stake is waiting for the fulfillment of a service

  • 2: stake is satisfied with the service delivered by the partner stakes

  • 3: stake is unsatisfied with the service delivered by the partner stakes and is willing to cancel the partnership without going through litigations

  • 4: stake is unsatisfied with the service delivered by the partner stakes and is willing to go through litigations

Stake Parameters

To change the parameters of your stake, go its control panel menu and click on the Update Requirements button

You can attach your profile as well as a bounty to your stake using this function. You can also add a minimum amount of tokens that all stakes that apply to partner with your stake should have locked in them.

Sometimes, you might deem that just having a bounty attached to them might be enough for stakes to be able to apply to your stake. In that case, pick the Yes option for the Is Bounty Required parameter.

You might also require them to have a profile attached to them in which case you should pick the Yes option for the Is Profile Required parameter.

You can also use the function to update the terms of your stake, this will provide further details about your request. You can also use it to attach any contact info to your stake so applicants can contact you for further details about your request.

You can also attach location tags to enable potential applicants to find your request much faster.

Validate and confirm the transaction.

Last updated