Ticket splitting is the process of splitting the cost of a full ticket with other DCR holders. This allows you to stake and participate in Decred’s governance even if you don’t have enough DCR to purchase a full ticket. The minimum amount of DCR that can be put into a split ticket is 5 DCR.
This page will provide you a high-level description of how ticket splitting works, instructions on setting up the necessary Split Ticket Buyer software and splitting your first ticket.
If you prefer video, try this tutorial.
Ticket Splitting is still in Beta. The code for splitting tickets has not been extensively vetted by automated tests and more experienced community members. See risks in joining the beta for further explanation of the risks.
- Decrediton wallet: You will need Decrediton to run the Split Ticket Buyer.
- 5 DCR: A minimum of 5 DCR (plus transaction fees) is required to participate in ticket splitting. This must be in your Decrediton wallet, not on an exchange.
- Split Ticket Buyer: This is the software that coordinates ticket splitting with other participants. To install it, download a binary release for your OS here or build from source.
How it works¶
DCR holders wishing to split a ticket join a “session” with other participants. Sessions can be public or private. There is typically at least one public session going at all times. Participants in a session pledge an amount of DCR they are willing to spend, and when the total amount pledged by all participants reaches the ticket price, a ticket is automatically purchased.
Consensus Rule Voting¶
Voting rights for consensus rule voting are assigned pseudorandomly to a single participant, based on the percentage of their contribution. I.e., if someone purchases 60% of a split ticket, they have a 60% chance of being selected as the voter for that ticket. Further details about the voting algorithm can be found here.
Rights for voting on Politeia proposals are granted to the biggest contributor of a split-ticket. The biggest contributor can vote on proposals in Decrediton or via the politeiavoter CLI tool, exactly as if they had purchased a whole ticket.
For more on ticket splitting, including further explanation of the risks involved, voting, and technical specs of the Split Ticket Buyer software, see the following:
- DCR Ticket Splitting — All you need to know!: a thorough overview of how ticket splitting works.
- Split Ticket Buyer documentation: Technical documentation for the Split Ticket Matcher software used to facilitate ticket splitting.
Setting up Ticket Splitting¶
These instructions will walk you through buying a ticket using the GUI version of Split Ticket Buyer. For instructions on installing the Command-line Interface (CLI) version, see here.
Create an account with a Voting Service Provider (VSP) that supports ticket splitting. Below is a list of VSPs that support ticket splitting.
Login to your VSP and navigate to the
Settingstab. Copy the API token.
Open your Decrediton wallet. Navigate to the
Ticketstab, select your VSP from the Stakepool dropdown menu, and paste in your VSP API key. If you already have another VSP configured, add the new VSP as you would any other VSP.
Enter your wallet passphrase. You should now see your configured stakepool.
Download the Split Ticket Matcher software for your OS.
splitticketbuyerguiexecutable. This will open the Split Ticket Buyer GUI (shown below).
Config -> Load from decreditonand select your wallet name and VSP from the drop-down menus.
Enter the amount of DCR you wish to put into your split ticket. Currently, only integer numbers are supported in the GUI version of Split Ticket Buyer. In the CLI version you can purchase arbitrary amounts. The minimum amount of DCR you can contribute is 5 DCR. Transaction fees will be automatically calculated by the Split Ticket Buyer and added to your pledged amount when the ticket is purchased. Transaction fees will vary based on the number of participants in the split ticket. A typical transaction fee might be 0.003 DCR. If you have more than 0.1 DCR in your wallet for fees, that should be more than enough.
Pick a session to join. Public session names can typically be found on the websites of VSPs that support ticket splitting, or in the ticket splitting chat channels (
#ticketsplitting:decred.orgchannel on Matrix or in the Telegram group located here).
Enter the name of the ticket buying session you want to join and your wallet passphrase. Then click
Participateto join the session. In the screenshot below, we’re joining a public session,
decredvoting1. You can also create private sessions with other participants. All that is required to create a private session is for all participants to use the same session name.
After successfully joining a session, you will see the number of other participants and the total amount of DCR currently in the pool.
You are now in the ticket splitting pool! Until the ticket price is reached, no DCR is spent. Participants are free to change the amount pledged, change wallets, or leave the pool altogether.
Wait for the amount of pledged DCR to reach the ticket price. While the time this takes can vary, public sessions are fairly active and often reach the ticket price in about a day.
Once the amount in the pool reaches the current ticket price, all participating wallets will automatically buy their portion of the ticket. At this point, the Split Ticket Buyer outputs details about the purchased ticket, including the amount contributed by other participants and who was selected to vote.
You can now close Split Ticket Buyer and Decrediton. Your VSP should email you a confirmation once your split ticket has been purchased, as well a notification email when your ticket was called to vote. Voting rewards are split according to the percentage of the split ticket each participant bought, and sent to the wallet used to purchase the split ticket.
When loading your wallet and VSP configuration details into Split Ticket Buyer (Step #7), some users may see the following error:
In this case, you may need to manually update a parameter value in the
splitticketbuyer.conf file. See the video tutorial for a step-by-step walkthrough of fixing this error.