The strategy marketplace
How a strategy is listed, moderated, priced and sold — the review queue, the price band, the fee split and how it is recorded, moderated reviews, and what the marketplace kill switch does and does not close.
Users can publish a strategy they have built, put a price on it, and earn when other users buy and deploy it. Every listing passes through an admin approval queue, and every review is moderated before it can move a rating.
The listing lifecycle
| Status | Means |
|---|---|
DRAFT |
Created, never submitted. The Strategy Builder's Save lands here |
PENDING_REVIEW |
Submitted, waiting on the admin queue |
APPROVED |
Passed review |
REJECTED |
Refused, with a reason the author can see |
SUSPENDED |
Pulled from sale by an admin after approval |
Visibility is separate: PRIVATE or PUBLIC. A listing is only visible in the
marketplace when it is both APPROVED and PUBLIC. That is why a strategy an
author swears they published often is not there — check both.
Every listing starts as DRAFT regardless of price, and free strategies queue
exactly like paid ones. An earlier build auto-approved free strategies, which meant
anyone could publish arbitrary content straight to the public marketplace — because
visibility is caller-supplied — without entering the queue at all.
Submitting for review
Submitting requires the become_bot_seller KYC feature. Only DRAFT and
REJECTED strategies may be submitted.
The price is re-checked at submission, not just when it was typed in — a draft can sit for months and outlive the settings change that moved the price band.
Auto Approve Strategies on the settings screen skips the queue. It deliberately
excludes anything a human has already ruled on: a REJECTED strategy, or one still
carrying a rejection reason, goes back in front of the reviewer who rejected it
rather than being waved through by a machine. Auto-approval also leaves
visibility exactly as the author set it — it skips the queue, it does not publish
something the seller kept private.
An auto-approved listing is recorded with a timestamp and no reviewer, which is what distinguishes a machine approval from a human one in the audit trail.
The price band
Minimum Strategy Price and Maximum Strategy Price are enforced at listing time, at update time and again at submission.
A price of zero is always legal, whatever the floor. The floor means "the cheapest a paid listing may be" — applying it to zero would make free strategies impossible on any install with a non-zero floor.
Editing an approved listing
Some edits send a listing back to PENDING_REVIEW automatically:
- A price change
- A currency change — that is what the buyer is debited in, so an approved "100 USDT" listing must not be silently switched to "100 BTC"
- Making a private listing public
- Any change to the strategy config — otherwise the logic a buyer runs could be replaced wholesale while their purchase snapshot still claimed the reviewed version
Only the fields a seller owns are writable. isFeatured, avgRating,
totalPurchases, creatorId, platformRevenue, slug and reviewedBy are not —
a seller cannot feature or five-star their own listing.
Buying
Buying requires the buy_bot_strategy KYC feature. A creator cannot buy their own
listing — they deploy it directly instead. A completed purchase already on file
refuses a second one.
The whole purchase runs in one database transaction. If it fails, nothing was charged. "Insufficient balance" refers to the buyer's SPOT wallet in the listing's currency — not the ECO wallet that funds bots.
A purchase stores a snapshot of the strategy as it was bought: name, type, version and config. A later edit by the seller cannot retroactively change what a buyer paid for.
Deployment goes through the same creation path as any other bot, so it gets the
strategy-config validation, the ecosystem-market check and — crucially — the risk
defaults. A marketplace bot built directly from the row would have had NULL
stop-loss and take-profit, meaning no downside protection at all while a bot built
in the trade panel ran with the full envelope.
The fee split
Platform Fee on the settings screen is the platform's cut, as a percentage.
The seller is paid the residual — price − fee — so that one number decides
the whole split. There is no second percentage to set, and there deliberately never
will be: two independent percentages could only disagree, minting money when they
summed over 100 and stranding it when they summed under.
The default is 10%, so out of the box the seller keeps 90%.
Money is split in whole cents, and the seller is paid the residual by construction, so any rounding drift comes out of the seller's side and the fee is never inflated.
The rate in force at the time of a sale is written onto that sale. Changing the fee never re-prices sales that already happened, so a mixed history after a change is expected rather than a bug.
The platform's share goes to the Super Admin wallet and is recorded as admin profit. If there is no Super Admin configured, or the buyer is the Super Admin, the fee cannot be collected — and rather than destroy the money, the seller is credited the full price and the sale is recorded with a 0% fee.
The buyer is never charged a fee nobody received. A run of 0% rows in your purchases list means your Super Admin wallet needs attention: you are earning nothing on those sales.
Three revenue columns are kept on each strategy and they add up: gross taken, the seller's cut, and the platform's cut.
Earnings are credited to the seller's SPOT wallet at the moment of purchase.
Reviews
A user can only review a strategy they have a completed purchase for, and only once.
Only approved reviews are public, and only approved reviews move the rating.
Both the read path and the rating calculation filter on APPROVED, and the hourly
ratings job does too — otherwise an admin's rejection of planted reviews would be
undone within the hour, and a brand-new pending review would move the public rating
on its own.
A strategy whose reviews were all rejected or deleted falls back to no rating, rather than keeping its last average forever.
Moderate the queue at /admin/trading-bot/reviews.
Moderation
| Action | Endpoint | Needs |
|---|---|---|
| Approve a listing | POST /api/admin/trading-bot/marketplace/strategy/{id}/approve |
edit.trading_bot.marketplace; optional notes |
| Reject a listing | POST …/reject |
A reason of at least 10 characters |
| Suspend a listing | POST …/suspend |
A reason |
| Reinstate a listing | POST …/reinstate |
edit.trading_bot.marketplace |
| Approve a review | POST /api/admin/trading-bot/reviews/{id}/approve |
edit.trading_bot.review |
| Reject a review | POST /api/admin/trading-bot/reviews/{id}/reject |
edit.trading_bot.review |
The pending queue is at GET /api/admin/trading-bot/marketplace/pending, and
GET /api/admin/trading-bot/marketplace/stats gives the revenue view.
The marketplace kill switch
Enable Marketplace on the settings screen is enforced, and it is precise about what it closes.
Refused while off: submitting a strategy for review, publishing or repricing a public listing, purchasing (including claiming a free strategy), and leaving a review.
Still open while off: browsing existing listings, creating and editing your own private strategies, and running bots from strategies you already have.
That split is deliberate. Gating strategy creation would make the kill switch reach past the marketplace and break Save in the Strategy Builder — a user who is not selling anything would be told the marketplace is disabled. And hiding an existing listing from a buyer who already owns it would break their bots.
Closing the marketplace during a review backlog or a fraud investigation leaves the trading side of the addon completely untouched.
Seller tools
The user-facing creator dashboard is at /trading-bot/creator.
Next
- Strategy Builder — where a listing is authored
- Settings — the fee, the price band and the auto-approve switch
- Admin console — the moderation queues in context