Receipts docs
v1.0.0
Live demo Get help
● Set up · Hand this to providers

Providers guide
publish, sealed.

How providers publish and manage signals: the Studio, Telegram, TradingView alerts, Discord, visibility, pricing and their own signing key. You can hand this page to your providers.

01The Studio

Any member becomes a provider in Studio (Become a provider) by entering a name and confirming that published signals are permanent. If the operator requires approval, the provider can publish and is listed only after verification.

TabWhat it is for
Publish a signalPrice source, symbol (exactly as the exchange writes it, like ETHUSDT), long/short, market or limit entry, stop, up to 5 targets, expiry, optional note, and the "publish permanently" box. On publish you land on the new receipt.
My signalsYour recent signals. For open ones: move the stop, close at market (filled signals), or cancel (not yet filled). Each change is a new sealed event.
AnalyticsMRR, subscribers, followers, churn.
Profile and pricingBio, markets, style, monthly price, plans and trial, reveal policy, performance billing (when allowed).
Earnings and payoutsActive subscribers, balance, payout requests.
Plan and badge (/studio/plan)Get or extend Provider Pro; request verification (with the operator's fee, if any).
Automation and webhooksThe badge embed code, Telegram VIP group steps, the Discord channel webhook and your private TradingView webhook address.
Signing keyYour own Ed25519 key (below).
Studio · Publish a signal (public demo)
Studio → Publish · public demo

02Rules a signal must pass

  • All prices positive; 1 to 5 targets; expiry in the future and within the operator's longest expiry (default 30 days).
  • The operator's limits on open signals and signals per 24 hours, and the enabled price sources.
  • A long's stop is below the entry and targets above it (a short: the reverse). Targets move away from the entry in order.
  • A stop move stays on the losing side of the entry while unfilled and never passes the last target.
  • A filled signal can be closed but not cancelled; a finished signal cannot be changed.
  • The symbol is checked with the venue before sealing: an unlisted symbol is refused and nothing is sealed. A market entry is refused if the price is already past the stop or first target.

03Visibility (reveal policy)

The hash, number and time of every event are public immediately, so nobody can later claim a signal was not there. The details (symbol, prices, targets) follow the reveal policy:

PolicyDetails become public
on_close (default)when the signal is finished (closed, not filled or cancelled)
delay_24h24 hours after publishing, or when finished, whichever is first
immediateright away

Active subscribers and the provider always see the details. Each signal carries 128 random bits, so hidden details cannot be guessed from the public hash. Free providers (price 0) are public immediately. Hidden signals expose no fill state anywhere.

04Publishing from Telegram

Link your account first (Subscriptions and payments → Connect Telegram). Commands work in a private chat with the bot; in groups they are ignored on purpose. Needs Provider Pro when the operator charges for it.

/long SYMBOL ENTRY sl STOP tp TARGET [TARGET2 ...] [EXPIRY] [@VENUE] [| note]

/long ETHUSDT 2418.5 sl 2371 tp 2490 2560 72h
/short BTCUSDT mkt sl 64800 tp 62000 @bybit-linear
/long SOLUSDT 142.2 sl 138 tp 150 3d @binance-spot | breakout retest
  • ENTRY is a price (limit) or mkt / market. sl and tp are required words. Plain numbers, no commas.
  • EXPIRY like 72h or 3d, 1h to 90d, default 72h. @VENUE default @binance-usdm.
CommandWhereWhat it does
/start <code>private chatLinks the account (sent by the link from Account).
/help, /meanywhereCommand list; your name, subscriptions and provider status.
/connectthe VIP groupAttaches the group to your provider profile (group admin, with Pro).
/long …, /short …private chatPublishes (seals) a new signal.
/stop SEQ PRICE, /close SEQ, /cancel SEQprivate chatMoves the stop, closes a filled signal, cancels an unfilled one. SEQ is the "Sealed #N" number.

05TradingView and automation webhook

Studio → Automation and webhooks shows your private address https://signals.example.com/api/hook/<your-secret-token>. Anyone with it can publish as you; if it leaks, click Replace the address. In TradingView create an alert, tick Webhook URL, paste the address and put the JSON in the Message box:

{"side":"long","venue":"binance-usdm","symbol":"ETHUSDT",
 "entry":"2418.5","stop":"2371","targets":["2490","2560"],
 "expires_in_hours":72,"note":"optional"}
FieldRequiredMeaning
sideno (long)short or sell = short; anything else = long
venueno (binance-usdm)binance-spot, binance-usdm, bybit-spot, bybit-linear
symbolyesLike ETHUSDT. TradingView's BINANCE:ETHUSDT.P is accepted: the prefix and .P are removed.
entryno (market)A limit price, or market
stop, targetsyesStop price; array of 1–5 prices (a single target is accepted)
expires_in_hours, notenoDefault 72 hours; free text

Answers: 201 {"sealed":true,"seq":…,"hash":"…","receipt":"https://…/r/…"} · 400 unknown venue or not JSON · 404 unknown or replaced address · 422 the signal broke a rule or the symbol does not exist.

curl -X POST -H 'Content-Type: application/json' \
  -d '{"side":"long","symbol":"ETHUSDT","entry":"market","stop":"2371","targets":["2490"]}' \
  https://signals.example.com/api/hook/<your-secret-token>
Everything is permanent

Everything you send is sealed. Test with a real, sensible signal; test signals stay in your public record.

06Discord channel

Studio → Automation and webhooks → Discord channel: paste a channel webhook (https://discord.com/api/webhooks/…) from your Discord server's channel settings, press Save and Send test. New signals and results are posted there; hidden signals are announced without their contents. The operator can switch Discord delivery off for the whole site.

07Signing with your own key

Your seal proves when you published. A signature also proves who did: anything published in your name without your key, by anyone including the site, shows on your record as unsigned or as a different key. This relies on the page code the site serves; signatures can always be checked offline.

  1. Create my keyStudio → Signing key. The key (Ed25519) is made in your browser and stays there.
  2. Download backupKeep the file private. Anyone with it can sign as you.
  3. Turn signing on with this keyTick the confirmation, enter your password. Your key's fingerprint is shown.
  4. Publish as usualPublish and every change are signed in this browser. Receipts show "Signed by provider · <fingerprint>".

On another device use Restore from backup. Webhook and Telegram cannot sign in your browser; their events show as signed by the site, unless you tick Only accept signed events, which refuses them. A key change or turning signing off needs your password. Results of a signed event are measured from the server's seal time. Needs a current browser (Chrome, Edge, Safari or Firefox from 2025 on).