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.

5 min readUpdated 3 August 2026marketplace, strategies, fees, reviews, moderation

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

Submit a draft or a rejected strategy 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

Purchase a strategy
Everything the caller has bought
Deploy a bot from a purchased or owned strategy

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 residualprice − 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

Leave a review — one per buyer per strategy
Read the approved reviews for a strategy

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 creator dashboard: listings, sales and performance
List the caller's own strategies in any status

The user-facing creator dashboard is at /trading-bot/creator.

Next