Self-hosted · Telegram · Solana · v0.1 in build

The call record your followers can verify.

Sell VIP access on a track record nobody can doubt, or send every call's Buy link to your own terminal and keep the swap fee. You get the source code, you run it on your own server, and every call is sealed on Solana.

  • Call-group owner Sells VIP on a public record with an on-chain proof, not a screenshot.
  • Terminal operator Each call card's Buy link opens your swap page, with your fee.
  • Source code
  • Self-hosted
  • Keyless
  • No monthly fee
Product preview · synthetic data
Caller name
in Your call group · posted —
Wallet linked
Token called (illustration)
So111…11112 · wrapped SOL mint
Follower entry
post + 30 s
1 h — final
24 h — open
7 d — pending
Illustration, no figures. A live page fills each window with the follower's net result once it closes.
Re-shill: shown, not scored Exit liquidity: not checked
Leaf hash · computed now in your browser
computing…
Buy on your terminal Buy link is empty until the operator sets it

The problem

Why followers stopped believing call records.

Most call records measure the caller's best moment, then ask you to take their word for it.

Peak-x screenshots

"Hit 12x" is the top of a candle. Nobody who read the call could have sold there. The number looks good and can't be bought.

Deleted losers

Bad calls quietly disappear from the channel. What stays up is survivorship, not a track record.

Trust-me servers

A tracker's database says so, and you either believe it or you don't. Nobody outside can check it.

How it works

From a Telegram message to a proof on Solana.

  1. 1

    Your bot records

    You invite your own Telegram bot to the group. Every message with a Solana contract address becomes a call, stored with its message id, time, author and original text. If the message is edited, the edit is saved next to the original.

  2. 2

    Follower-reachable result

    Entry is priced 30 seconds after the post, exits at fixed times, and fees and slippage come off. The result is what a follower could have had, not what the chart touched.

  3. 3

    Hourly seal

    Once an hour, new calls go into a Merkle tree. The bot posts the seal hash to your Telegram, so there is a timestamped public copy.

  4. 4

    On-chain anchor

    You sign one Solana memo, mvc1:<sealHash>, from your own browser wallet. The server never holds a key and never signs.

The method, in plain words

One question: what would a follower actually have?

The rules are fixed and public. Every deployment shows its own live settings on its /methodology page.

Entry at post + 30 s
The entry price is the open of the first 1-minute candle at least 30 seconds after the post, so the modelled buy lands within about 90 seconds. If nothing traded soon after, the call is marked unpriceable. No price is made up.
Exits at 1 h, 24 h, 7 d
Three fixed windows, the same for every caller. A window that hasn't finished yet shows open. The peak multiple and the worst drawdown are shown too, but they never lead.
Net of fees and slippage
Fees and slippage are charged on both the buy and the sell. The defaults are 1% fee and 1.5% slippage per side, and the operator can change them. Try it in the calculator.
Median, not peak
Callers are ranked by their median follower result, pulled toward the group median until they have enough calls. One lucky call can't put anyone at the top. Below the minimum sample, a caller is listed as "not enough calls yet".
Re-shills shown, not scored
If a caller posts the same token again within 24 hours of their last call on it, the post is recorded and visible but it doesn't count toward their score.
Exit-liquidity flag
If a wallet the caller has linked (proved by signature) sells the called token within 60 minutes after the call, the call is flagged. This check needs the operator's own RPC or Helius key. Without one the page says not checked, never clean.

Proof

Anyone can check it without trusting your server.

A record you host yourself is only believable if people can check it without trusting you. Here is how the check works.

  1. Each call becomes a fingerprint. The call's fields (id, group, caller, token, message id, time, and a hash of the original text) are hashed with SHA-256 into a leaf. Change one character and you get a different leaf.
  2. Leaves fold into one root. Leaves are paired and hashed, then the results are paired and hashed again, until one Merkle root covers every call of the hour. You can prove any single call with a few sibling hashes, called its proof path, without revealing the rest.
  3. Roots chain into seals. Each seal records the call range, the root and the previous root, and is hashed into a sealHash. To remove an old call you would have to rewrite every seal after it.
  4. The seal is published twice. The bot posts the seal hash to Telegram, and the operator signs a Solana memo mvc1:<sealHash>. That memo has a public timestamp on Solana and can't be edited or deleted.
  5. Anyone re-computes. Each call's /verify page recomputes leaf → root → sealHash in the visitor's browser and links to the memo on Solscan. The full export can also be checked offline with the included script.
Live in your browser · synthetic inputs

Tamper test

These are three example calls with a made-up group and callers. The token addresses are real public mints and are only examples. The hashes below are computed right now with WebCrypto, in the same format the product uses. Edit any message and watch the seal break.

Merkle root…
Seal hash…
Solana memo…
Computing…

For whom

Two buyers, two ways to earn.

Standalone kit

Telegram call-group owner

Sell your VIP tier on a record anyone can check.

  • A public record page for your group and each caller
  • An embeddable badge for each caller that links back to the live record
  • Losing calls stay on the record, and that's why people believe it
  • Seals in your own Telegram and on Solana, signed by your wallet
Module · Trade Engine / TIDE

Trading terminal or wallet operator

Turn every call into a swap on your terminal, with your fee.

  • The Buy link on each call card opens your own swap page
  • The same link shows on every call, never only on top callers
  • The fee hook ships empty. You set the fee in your own admin
  • The record brings traders to your terminal and the swap fee is your revenue

What you get

Your code, your server, your bot.

  • Full source codeTypeScript on Node.js, with a small set of permissively licensed dependencies. No GPL or AGPL.
  • Self-hostedSQLite on your own server. MIKODES never runs an instance and never sees your data.
  • KeylessNo API key ships in the code. The free public price source works out of the box, and your own RPC or Helius key is optional.
  • Your own botCreate it in @BotFather and invite it to your group. It uses the official Bot API, with no userbot and no account risk.
  • Public site + JSON APILeaderboard, caller and call pages, methodology, verify pages, badges and a read-only API.
  • Admin panelSign seals, manage sources and linked wallets. Every admin action is logged and wallet addresses are hidden by default.
  • Append-only recordThe database refuses to delete or rewrite calls and seals. Edits are stored next to the original message.
  • No monthly MIKODES feeYou pay once. Running costs are your own server and a small amount of SOL for memo fees.

Not included

  • Hosting (you run it; installation is a paid extra)
  • X / Twitter ingestion (the API is paid and scraping is against the rules)
  • Trading on anyone's behalf: no auto-execution
  • Token picks, signals or any recommendation
  • Any pre-filled callers, calls or leaderboard: it starts empty

Requirements

What you bring.

Required

  • A server or VPS that runs Node.js 20 or newer
  • A Telegram bot token from @BotFather
  • Admin rights for the bot in channels (it sees channel posts only as an admin)
  • A Solana browser wallet and a little SOL to sign seal memos
  • A domain for the public record page

Optional

  • Your own Solana RPC or Helius key, which turns on exit-liquidity checks
  • Your terminal's swap URL for the Buy link, e.g. …/swap?out={mint}
  • Your own fee and slippage settings for the method

Pricing

Pay once. Run it forever.

A direct licence from MIKODES with the source code included. There is no subscription and no share of your revenue.

Verified Calls kit

from $599

For call-group owners. The full kit: bot, record site, seals, admin, docs.

  • Source code, direct licence
  • Self-hosted, keyless
  • Installation available as a paid extra
Ask on Telegram

Module for Trade Engine / TIDE

from +$1,500

For terminal and wallet operators. Added to a Trade Engine or TIDE deal and wired to your swap page and fee.

  • Everything in the kit
  • Buy link into your terminal's swap
  • Scoped as part of your terminal build
Contact

FAQ

Straight answers.

Is this a signals service?

No. It never says a token is good. It records what was called and shows what a follower could have had afterwards, by a fixed, published rule.

Does MIKODES see my data?

No. It runs on your server, with your bot and your database. MIKODES doesn't run an instance and holds no keys.

What chains?

Solana first: calls with Solana contract addresses, prices for Solana pools, and seals anchored as Solana memos.

Can a caller or admin delete a losing call?

No. Calls and seals are append-only and the database enforces it. A message deleted in Telegram stays in the record, because bots are not even notified of deletions. Removing a sealed call would change the root and break every later seal.

Does the server hold a private key?

No. The server builds an unsigned memo transaction, and you sign it in your own browser wallet. The server then checks the signed transaction on-chain before it records the signature.

Can a paid tier or the Buy link change the ranking?

No. Ranking comes only from the published method. The Buy link, when you set it, appears on every call in the same way.

Is there a live demo?

Yes: demo.verifiedcalls.mikodes.com. It runs the real site and the operator console (read-only) on a synthetic record: every caller, token, price and result there was generated, and every page says so. It is not anyone's track record and not a return anyone got. Real calls are recorded only by your own install, with your own bot.

Give your followers a record they can check.

Tell us whether you run a call group or a terminal. We reply in writing on Telegram.

Message MIKODES on Telegram