Truzor MM Documentation
Automated Discord escrow for crypto deals — Bitcoin and Litecoin, settled in minutes. This guide walks you through every step, every command, and every guarantee.
What is Truzor MM?
Truzor MM is a fully automated cryptocurrency middleman and escrow service running as a Discord bot. It facilitates trustless peer-to-peer crypto deals between strangers without any human staff in the loop.
The Sender deposits crypto into a unique bot-controlled address. The bot holds the funds while the Receiver delivers the product or service off-platform. Once the Sender confirms delivery, the bot automatically releases the funds to the Receiver.
What can you trade?
Truzor handles any deal where one party sends crypto and the other delivers something off-chain — for example:
- Gaming items and accounts
- NFT trades
- OTC crypto swaps
- Services-for-crypto (design, code, content, etc.)
- Account sales
Quick start
- Join the server. Both buyer and seller need to be in the Truzor Discord — discord.gg/u3TZ5SXncm.
- Open the deal panel. Go to the
#start-dealchannel and pick a coin (BTC or LTC) from the dropdown. The bot creates a private ticket namedauto-NN, visible only to you and staff. - Add your counterparty. The bot asks "Who are you dealing with?" — mention them or paste their Discord user ID. The bot adds them to the ticket.
- Pick roles. One side selects Sending, the other Receiving. Both must confirm.
- Enter the amount in USD. The Sender types the deal amount in dollars (e.g.
100for $100). The bot fetches the live USD-to-crypto rate from CoinGecko and locks it on the invoice. - Deposit. The bot shows a fresh deposit address with QR code, the exact crypto amount, and the locked exchange rate. Send from any wallet.
- Release. Once confirmed on-chain, the Sender clicks Release. The Receiver supplies their payout address. The bot broadcasts and posts the transaction hash.
Deal flow
End-to-end lifecycle of a Truzor deal. Every state is posted in the ticket as an embed, so both parties always see exactly what's expected next.
Initiation and setup
- Open the panel. Either user goes to the
#start-dealchannel and selects a coin from the dropdown. - Ticket created. The bot creates a private ticket channel named
auto-NN, visible only to that user and staff. - Add counterparty. The bot prompts "Who are you dealing with?" — paste or mention the user ID of the other party. The bot adds them to the ticket.
- Role selection. Both users click either Sending or Receiving.
- Role confirmation. Both must confirm before the deal moves forward.
Invoice generation
- Sender enters the USD amount. Type a dollar value (e.g.
100for $100), then confirm. - Live rate locked. The bot fetches the USD-to-crypto rate from CoinGecko and locks it on the invoice — even if the market moves, your deal price doesn't change.
- Fresh deposit address. Generated through BlockCypher. Unique per deal, never reused across tickets.
- Invoice shown. QR code, the exact crypto amount to send, and the locked exchange rate.
- Webhooks armed. The bot registers BlockCypher
unconfirmed-txandconfirmed-txwebhooks to detect the incoming payment.
Payment detection and release
- Sender deposits. Send the exact crypto amount from any wallet.
- Transaction Detected. As soon as the transaction hits the mempool, the bot posts an embed with the tx hash and an explorer link.
- Underpayment protection. If the received amount is less than 99% of expected (more than 1% short), the bot warns the Sender to top up before continuing.
- Payment Received. After 1 confirmation, the bot posts a "Payment Received" embed and unlocks the Release and Cancel buttons.
- Receiver delivers. Off-platform — Truzor doesn't see or verify the goods/service. That's between the two of you.
- Sender clicks Release. A confirmation prompt appears — two-step to prevent misclicks.
- Receiver provides payout address. Pasted into the ticket, then confirmed.
Settlement
Once both parties confirm, the bot creates a single signed transaction with two outputs:
- Receiver gets:
(deposit × 0.985) − platform fee— the 0.985 multiplier is the 1.5% miner-fee buffer reserved for blockchain network costs. - Owner gets: the platform fee, sent to
OWNER_BTC_ADDRESSorOWNER_LTC_ADDRESS.
After broadcasting:
- Payment Released. The bot posts the final embed with the broadcast tx hash.
- Customer role. Both users automatically receive the Customer role for future server access.
- Stats updated. Both users' deal count and total USD volume are incremented.
- Posted to
#completed. An anonymized summary of the deal is posted publicly. - Cleanup. BlockCypher webhooks are deleted.
- Ticket auto-closes 5 minutes after settlement.
Supported coins
Truzor MM currently supports two settlement coins live, with multi-chain stablecoins next on the roadmap.
Live
Coming soon
Confirmation requirements
- Bitcoin (BTC): 1 confirmation before Release unlocks. Typical wait time 10–30 minutes.
- Litecoin (LTC): 1 confirmation. Typical wait time 2–5 minutes — usually the fastest option.
Pricing
Deal amounts are entered in USD, not in crypto. The bot fetches the live USD-to-crypto rate from CoinGecko the moment the invoice is generated and locks it for the duration of the deal — your price never moves with the market once you've confirmed.
Minimum deal size
Each coin has a minimum equivalent of $0.20. This protects you from accidentally creating dust deals where the on-chain fee would consume the entire amount.
Fees
Truzor's pricing is simple and transparent — a small platform fee that scales with deal size, plus a network buffer for miner costs.
Platform fees
| Deal value | Platform fee |
|---|---|
| $250 and above | 1% of the deal value |
| $50 to $250 | $2 flat |
| $10 to $50 | $0.50 flat |
| Under $10 | FREE |
Miner-fee buffer
On every deal, the bot also reserves a 1.5% miner-fee buffer for blockchain network costs. This is separate from the platform fee — it pays the miners who confirm the on-chain transaction, not Truzor.
Worked example
A $1,000 BTC deal:
- Platform fee:
$1,000 × 1% = $10→ goes to Truzor - Miner-fee buffer:
$1,000 × 1.5% = $15→ goes to the network miners - Receiver gets:
$1,000 − $10 − $15 = $975equivalent in BTC
Cancellations and refunds
If a deal is cancelled before deposit, no fees apply — nothing happened on-chain. If a deposit was made and the deal is later refunded via /escrow-refund, the network fee (1.5% buffer) is deducted from the refund.
Slash commands
Every action lives behind a slash command. Most of the deal flow is button-driven inside the ticket — these commands cover stats, affiliate tools, and admin controls.
| Command | Description |
|---|---|
/stats [user] |
Total deals and total USD volume for a user (defaults to yourself if no user is passed). |
| /leaderboard | Top 15 users ranked by total USD volume traded. |
| /affiliate | Your affiliate dashboard — personal invite link, current tier, balance per coin, and lifetime earnings. |
| /payout | Request a withdrawal of your accumulated affiliate balance to a BTC or LTC wallet address. |
| /crypto-paneladmin | Posts the coin selection panel in the start-deal channel. Used after a cleanup or initial setup. |
/escrow-export <channel_id>admin |
Exports the WIF (private key) for a ticket's deposit address. Sent to the admin via DM as a last-resort recovery tool. |
/escrow-refund <channel_id> <address>admin |
Best-effort refund from a ticket's deposit (minus the 1.5% miner-fee buffer) back to a specified wallet. Used when a deal stalls after deposit. |
Manage Server permission and won't appear in your slash menu unless you have it.
Affiliate program
Auto-tracked through Discord invite links — no codes, no setup. When someone joins your server through your personal invite link, they become your invitee permanently.
How tracking works
- On startup, the bot caches every server invite with its current use count.
- When a new member joins, the bot fetches the invites again and finds which one's use count went up by 1.
- That invite's creator is recorded as the new member's permanent inviter.
- Server-discovery joins, vanity-URL joins, and joins through deleted invites have no inviter — no abuse vector.
To get your link, run /affiliate in any channel.
Commission tier system
Tiers are based on your number of active invitees — meaning unique invitees who have completed at least 1 deal. Just inviting people isn't enough; the tier moves up only as your invitees actually trade.
| Tier | Active invitees | Commission rate |
|---|---|---|
| Starter | 0 or more | 10% of platform fee |
| Pro | 50 or more | 20% of platform fee |
| Elite | 100 or more | 25% of platform fee |
Commission is calculated as tier rate × platform fee and credited the moment the deal completes.
Both parties matter
If both the Sender and the Receiver have inviters — and they're different inviters (self-referrals are blocked) — both inviters get credited for the same deal. In rare double-inviter scenarios, Truzor can pay up to 50% of a fee in combined commissions (Elite + Elite).
Worked example
Pro tier (20%) on a $500 deal (1% platform fee = $5):
- Your commission:
$5 × 20% = $1.00credited to your balance - If the other side also has a Pro inviter, that inviter also gets $1.00 — Truzor pays out $2 total in commissions on a $5 fee
What blocks commission
- Self-referral: blocked. You can't list yourself as your own inviter.
- Inviter swap: blocked. The first-tracked inviter is permanent — no re-attribution if someone joined before you sent your link.
- Vanity URLs / Server Discovery / deleted invites: joins through these have no inviter and don't credit anyone.
Withdrawals
- Run
/payoutin any channel. - Paste a wallet address. BTC or LTC.
- Request posted. Your request lands in a private admin channel for review.
- Admin sends crypto manually from the owner wallet to your address.
- Marked as Paid. Your balance is cleared. Funds typically arrive within 24 hours.
Security model
Truzor's job is simple: hold the funds, only release when the Sender says so. Here's how that's enforced.
Per-deal addresses
Every ticket gets a brand-new deposit address, generated through the BlockCypher API. Addresses are never reused across deals — keeps deal histories cleanly separated and prevents cross-contamination.
Signing model
Truzor uses secp256k1 signing with WIF (Wallet Import Format) keys. Signing happens locally on the bot — private keys never leave the process. The bot never sends a key to any external service.
Funds custody
Escrow keys are held by Truzor while a deal is in flight. The payout transaction is signed and broadcast only after both parties hit final confirmation. The deal cannot be released without an explicit Release action from the Sender — no unilateral move from the Receiver, no automatic timeout that drains funds.
Button permissions
Inside a ticket, only the right party can click each button:
- Release / Cancel / Confirm-Release / Back-Release: only the Sender
- Payout Confirm / Payout Back: only the Receiver
- Close Ticket: only the ticket opener or staff
Anyone else clicking gets an ephemeral "permission denied" message that only they can see.
Anti-abuse mechanisms
- Underpayment protection: 1% tolerance — if the deposit is more than 1% short, the Sender is warned to top up before continuing.
- Inviter swap blocked: the first-tracked inviter is permanent and can never be reassigned.
- Self-referral blocked: a user cannot list themselves as their own inviter.
Cancellation
Either party can cancel before deposit at no cost. If a deposit was already made and the deal stalls, staff can use /escrow-refund to return funds (minus the 1.5% miner-fee buffer) to a wallet you control.
What's logged
- Every state transition is posted as an embed in the ticket — visible to both parties for the lifetime of the deal.
- Every completed deal is posted (anonymized) in the
#completedchannel. - Every commission credit is logged with deal ID, coin, and amount.
- On-chain activity is verifiable via BlockCypher — every Transaction Detected, Payment Received, and Payment Released embed includes the transaction hash and an explorer link.
If you receive a private message claiming to be from staff, asking for a payout address, seed phrase, or for you to send funds outside the ticket — it's a scam. All legitimate communication happens inside the ticket channel.
FAQ
COMPLETE — usually 5 to 30 minutes. Most of that is on-chain confirmation time. Litecoin is generally the fastest option, Bitcoin the slowest.
/escrow-refund to return your deposit (minus the network fee for the refund transaction).
Support
Stuck on a deal, found a bug, or have a feature idea?
How to get help
- Open a support ticket in Discord. The fastest path — staff usually responds within minutes during active hours.
- Stay inside your deal ticket. If your question is about an in-flight deal, post it in the ticket itself so staff has the full context.
- Bug reports & feature requests: drop them in the dedicated feedback channel.