How to sell license keys on Discord without handing out the same key twice

By Cartcord Team · Tutorial · 2026-10-19
Selling license keys on Discord is a stock problem disguised as a chat problem. The buyer does not want a conversation. They want one unused key in a DM after the payment clears, and they want the next buyer to get a different one.
Cartcord does that with a product whose delivery type is License Key. You paste the codes. A completed order claims one unused row and marks it used. Two checkouts at the same time are not supposed to receive the same code. When the list is empty, the product shows out of stock and Buy is blocked, instead of taking money for a key you do not have.
What belongs in the pool
Software keys, script serials, game keys you are allowed to resell, and one-time access codes. One key per line. Do not paste a key you have already sold somewhere else. The bot cannot know about a spreadsheet on your desktop.
Do not put a single shared password in the pool and call it a license. Everyone would get the same secret, which is a link product, not a key product.
How a sale moves
The buyer pays through PayPal, or uses a 100% coupon on a plan that has coupons. The claim runs for that order. The DM contains the key in a code block so Discord does not eat the dashes and underscores. The dashboard order stores that this order already has a key.
If they say the DM never came, re-send from the order. Re-send does not pull a second key. It sends the one already tied to that order. If you want them to have a new key, that is a different decision and you should add a new code on purpose, not mash Re-send and hope.
If Discord blocked the DM, the key is not posted in #shop. The order stays pending until they allow DMs and you re-send.
Running out
Set the low-stock warning on the product. The bot DMs you once when unused keys hit that number, and again only after you restock and fall back through it. An empty pool on a later order tells the buyer their key is not ready, records the payment, and tells you to add keys and re-send. That is still a bad moment. Restock before you announce a sale.
Stock on a key product follows the unused list. Adding lines brings it back. You do not flip a separate "in stock" switch and forget the list.
Plan limits that matter here
The key delivery type itself is on every plan, including Free. What runs out first is usually orders, not the idea of keys. Free stops at 3 completed orders a month. Basic stops at 100. Pro at 1,000. Enterprise does not cap orders. Hitting the cap blocks the next checkout before the charge, so you are not collecting money you are not allowed to fulfill.
Coupons, if you comp a key to a tester, need Pro or Enterprise.
A few rules that keep you out of fights
Say in the description whether the key is lifetime, a year, or a single server. The bot will not expire it for you.
Say whether they may move it to a second machine. You will be asked.
Keep a copy of your unsold keys outside the dashboard too. The pool is the live stock. It is not your only backup if you are careless with the PayPal app and need to rebuild.
The public page for this use case is cartcord.com/sell-license-keys. The order tools are under Dashboard, Orders, after you sign in.
Key problems worth knowing before a launch
The buyer says the key is already used. Check whether you pasted a code you had sold in another shop. Cartcord only knows the list you gave it. It cannot see keys you typed into a ticket last month.
Re-send gave them the same key. That is correct. Re-send repeats the key already claimed by that order. A new key means you add one and decide, on purpose, to hand it over. Mashing the button does not mint codes.
The product says out of stock while you still have codes in a notepad. They are not in the pool until you paste them into the product and save. The warning DM fires once when you cross the threshold you set. It does not keep pinging you every sale.
A 100% coupon for a tester still consumes a key and still counts as an order. Do not comp fifty people on a Free plan. You will hit the 3 order cap and the next real buyer will be blocked before payment.
Read more Cartcord articles