Your reliability score
Your reliability score is one number, from 0 to 10, attached to your account. Every product reads the same figure β Paid Promotions, Cross-Promotion, Boost, the Subscriber Exchange β and what the Telegram bot observes in your channels moves that same number rather than keeping one of its own. It is how the other side of a deal knows they can trust you, and it decides what you are allowed to start, how far your ads reach, and what you pay.
See yours at https://onflowads.com/telegram/dashboard/reliability, or from the shield pill in the header of any signed-in page. Everyone starts at a neutral 8.0 β trusted from day one, with room to climb and room to slip.

Plus plan Β· Advertiser. The top of the page: your score, the tier it falls in, and one chip per marketplace showing the minimum that marketplace asks for β ticked when you clear it, crossed when you do not.
This page is a tour of the reliability page. The same rules are also published in the Policies section under Your reliability score.
Only the website moves this number. The bot that watches your channels records what it saw β a placement pulled early, a cross-post taken down, a member who left a partner's channel, a placement that served its full term β into a queue the website owns, and the website prices that fact from its published table and writes your ledger entry, usually within about a minute (with one deliberate exception: an early unpin of a paid pin is priced immediately but recorded only at the end of the campaign, because until then you can still undo it β see the curable mark). A Telegram message about a penalty therefore tells you what was recorded and that it is applied on onflowads.com; it never quotes a new score, because the bot does not know it.
What the page showsβ
Top to bottom: your score and tier in a gauge; the three marketplace floors as chips; One score, one ledger, everywhere; Where the floor stops you; The tiers; Exactly how it drops; a red warning block about deliberate abuse; How it climbs; Three ways to reverse a drop; What a low score costs β beyond the gates; and Your ledger.
The tiersβ
| Score | Tier | What it means |
|---|---|---|
| 9.0β10 | Trusted | Top ranking, full reach, extra AI allowance |
| 7.5β8.9 | Reliable | A strong, dependable record β full reach |
| 5.0β7.4 | Fair | Good standing β cross-promotion stays open; reach reduced |
| 4.0β4.9 | Building | Paid promotions open; cross-promotion locked; reach reduced further, AI throttled |
| 0β3.9 | Low | Marketplaces locked β rebuild before starting new deals |
Where the floor stops youβ
Each marketplace has a minimum score to start something new. Below the floor that surface locks until you recover β but anything already in flight always finishes.
| Marketplace | Shipped floor | Who it applies to |
|---|---|---|
| Paid Promotions | 4.0 | Advertisers and channel owners alike |
| Cross-Promotion | 5.0 | Both sides. The bar is higher because audience is traded with no money in escrow |
| Subscriber Exchange | 4.0 | Hosts joining the exchange |
If you try to start a deal below a floor, the block message names your current score, the floor, and points you at the reliability page.
The three chips read "needs 4+", "needs 5+" and "needs 4+" as literal wording, but the tick or cross beside each one, and the gate that actually blocks you, use the live floor an operator can retune β the Subscriber Exchange chip reads its live floor too. If a floor is ever changed, the block message you get is the number to trust, not the chip. The figures in this table are the shipped defaults.
A block message can name something other than the floor. If your wallet is below zero, the refusal says so and names the amount and the deadline β see Owing money. If your account is under review, the refusal says that instead. Both are checked before the floor, because sending you to fix your score when the real problem is a debt or an open concern would send you to fix the wrong thing.
Under Reviewβ
While a fraud concern about you is being investigated β or your wallet is frozen β your score displays as Under Review, and you cannot start a new deal on any surface until it clears. Deals already in progress still finish. The score is frozen so it cannot be used against you mid-dispute: it neither heals nor drops until the concern is resolved β upheld, rejected, or dismissed as inconclusive.
Exactly how the score movesβ
Nothing docks your score by surprise. Every penalty has a fixed, published size and fires only on a confirmed outcome.
Creditsβ
| Amount | What earns it |
|---|---|
| +0.20 | A promotion you delivered as the channel owner completed cleanly |
| +0.10 | A campaign you booked as the advertiser ran clean and completed |
| +0.05 | You hosted a Subscriber Exchange placement, or your half of a swap, for its full term |
| +0.05 | Your own Subscriber Exchange placement ran clean end to end |
Above 9.0 each clean completion is worth steadily less, so no one can pump a permanent 10 with a churn of cheap deals. A self-dealt completion β buying your own listing β earns nothing on either side.
Penaltiesβ
| Amount | What causes it |
|---|---|
| β0.30 | Ghosted a request β an owner let an offer sit until it auto-declined. Not applied when the owner was under review or below the floor: those bookings are declined for them at once, with a full refund, rather than left to expire |
| β1.00 | Didn't post in the window β accepted, then never published in the agreed time |
| β1.50 | Post removed early β the bot caught the ad taken down before its promised time was up. On a booking sold as a pin under the older format wording, being unpinned counts here |
| β0.75 | Paid pin taken down early β the advertiser paid separately for the pin and you unpinned it before the campaign ended. The pin charge is refunded to them and collected from you β see below |
| β0.40 | Posted over a top-of-feed ad β you sold a placement with hours at the top of your feed, and something else went up inside them. See below |
| β2.00 | Fraud concern upheld β investigated and upheld against you. The heaviest single mark |
| β0.50 | Raised a false fraud concern β you reported fraud and it was rejected |
| β0.50 | Weaponising disputes β a repeated pattern of rejected fraud concerns |
| 0.00 | Concern dismissed β inconclusive β a concern against you ended with no finding; nobody's score moves, and the line exists only so the outcome is visible |
| β0.30 | Left a CP slot unconfirmed β attached to a cross-promotion, never confirmed your side within 48 hours |
| β1.50 | CP post removed early |
| β1.00 | Left the partner channel early β you left (or left and rejoined) your partner's channel before the cross-promotion ended, while their post was still up |
| β1.50 | SubX post removed early β an exchange placement pulled before its hold ran out |
| β1.00 | Boost not delivered β reserved for a Boost order the seller owned that failed and was refunded for cause; nothing fires it automatically today |
| β2.00 | Chargeback β a confirmed fraudulent chargeback or payment reversal |
| β2.00 | Referral abuse β confirmed self-referral or fake-signup abuse |
| β1.00 | AI misuse β AI-made copy used in an upheld scam or spam campaign |
| β2.00 | AI abuse β confirmed prompt-injection, jailbreak or banned-content attempts |
Pulling a post early costs exactly β1.50 on all three engines that publish one. Honouring a deal is worth the same everywhere, so breaking one costs the same everywhere.
Misusing the developer API also moves this score β β1.00 for an upheld pattern of abusive automation, β2.00 for confirmed key sharing, resale or scripted fraud β and neither is automatic: something proposes the flag and a person confirms it. They are newer than the table printed on the reliability page, so they are not listed there, and a ledger entry under one shows the sentence it was recorded with instead of a short label. The rulebook has both in full: Exactly what drops it.
A booking cancelled before it goes live β by either side, before or after the owner accepted β is refunded in full with no fee and no reliability effect on anyone. There is no "abandoned a deal" mark. Once the ad is live it can no longer be cancelled, and a placement that runs badly is a fraud concern, not a cancellation.
The β0.75: a paid pin that came downβ
The pin is a separate, platform-priced product on top of a placement: the advertiser pays $6.00, the owner receives $4.00, and the ad stays pinned from go-live until the campaign ends. If the ad is unpinned before then β confirmed by two consecutive conclusive readings, like the deletion check β the money and the mark part company:
- The money settles at once. The owner owes the platform the whole $6, withheld from the payout still sitting in escrow; only if the payout is too small to cover it does the shortfall land on the wallet, which is one of the two things on the platform that can take a balance below zero. See Owing money. The advertiser receives it as boost credit when the campaign finishes.
- The β0.75 is held back. It is recorded only if the campaign ends with the ad still unpinned. Re-pin the post β confirmed the same two-reading way β and leave it pinned for the rest of the run, and the mark is never recorded at all. The money is not returned either way. This is the only mark on this page you can undo by your own action; see Reliability score.
The placement itself is untouched β the ad is still standing and still being read β which is why this is lighter than the β1.50 for an ad that is gone, and why it never holds the rest of the payout.
The β0.40: posting over an ad you sold time at the top ofβ
Most Paid Promotions formats sell hours at the top of the feed β "1 hour at the top Β· 24 hours in feed" and so on. That means the ad is the newest post in your channel for those minutes, so anyone opening the channel in that window sees it first. It is not a pin, and it is not a pin's price: it is you agreeing to publish nothing else for an hour.
Nothing prevents you breaking it. A bot cannot stop a channel's own admins posting, and Telegram slow mode does not apply to them. So it is checked afterwards, once, and priced.
| How it works | The detail |
|---|---|
| What counts as a breach | Any message in your channel, newer than the ad, dated inside the window |
| What does not | The ad's own album siblings, service messages such as a pin or a title change, forwards of the ad, and edits β an edit does not make a new message |
| When it is checked | Once, 5 minutes after the window closes, by reading your channel's history back β which catches a message that was posted and deleted inside the window too |
| The verdict | Three-way: clean, breached, or unknown |
| What it costs | β0.40, applied once to the channel owner. Nothing is applied on an unknown |
| What it does not cost | No money. Your payout on that placement is unaffected β it still depends only on leaving the ad up for its full run |
The delete-early and unpinned-early checks behind the β1.50 and the β0.75 do hold a first bad reading back and only act when a second, consecutive one agrees, because a live probe can catch a channel mid-blip and read "gone" from a network hiccup. This check is different, and does not.
It is one retrospective read of an immutable past. If the read comes back inconclusive β the channel could not be reached, or nothing readable came back β the verdict is unknown, which is never filed as clean and never as a breach. Unknown verdicts are retried on later passes and given up on 25 hours after the ad went live, at which point they are closed as unknown permanently. That is the protection: not a confirmation probe, but a refusal to penalise an answer we do not have.
The whole check is inert if the reader that performs it is unavailable, so a breach can go unrecorded. It never runs the other way.
When it does fire, both sides are told in the Paid Promotions activity feed β you get "Your channel posted during an ad's exclusive window", the advertiser gets "Your ad did not get its full time at the top" β and both messages carry the same sentence that lands in your ledger, naming how many posts went up and how far into the window the first one was.
Since the rate card was rewritten, a format's top-hours are exclusivity and not a pin. Your ad is only expected to be pinned when the buyer bought the pin β and then unpinning it early costs the β0.75 above, not the β1.50. Bookings taken before that rewrite are the exception: they were sold as "pinned for N hours", so they are still delivered and policed as a pin, and unpinning one of those is the β1.50 Post removed early. Nothing was retro-fitted onto a deal that was already struck.
For deliberate fraud, scams, chargeback abuse, coordinated manipulation or anything that harms other members, Onflow Ads reserves the right β at its sole discretion, with no score being the deciding factor β to freeze your payouts and your account permanently, to delete your account and all of its data with no payout and no refund, and to pursue legal action. None of this touches anyone dealing in good faith.
How a drop healsβ
Even with no new deals, a below-baseline score drifts back up on its own β as long as you stay clean. How fast depends on the worst unforgiven mark on your record in the last 120 days, and each severity has a quiet streak you have to complete first.
| Worst recent mark | Clean streak first | Then heals at |
|---|---|---|
| Under 0.50 β a ghost, an unconfirmed CP slot, the β0.40 | 14 days | +0.10 per day |
| 0.50 to 0.99 β a false dispute, a paid pin taken down | 21 days | about +0.067 per day |
| 1.00 to 1.99 β non-delivery, an early removal, leaving a partner channel | 30 days | +0.05 per day |
| 2.00 β an upheld fraud, a chargeback, referral or AI abuse | 45 days | +0.025 per day |
Limits that keep healing honest:
- It never crosses 8.0 on its own. Anything above neutral has to be earned with real completed deals.
- After an unforgiven upheld fraud the ceiling is held at 6.0 and eases back toward 8.0 only across the following 90 days.
- A frozen or under-review account does not heal at all until it clears β and an account with a fraud concern still open against it does not heal either, even after the timed hold lapses.
- Healing happens at most once a day per account, and when many accounts are waiting, turns go to whoever was healed least recently rather than to the lowest score.
A mark that is forgiven or reversed stops throttling your healing β it no longer counts against you when the severity is worked out.
Reading your ledgerβ
The Your ledger section at the bottom of the page lists your 50 most recent changes, newest first: the amount in green or red, a plain-language label, the date, and your score after the change. Nothing moves your score without a line here.
Labels you may see include Clean delivery, Clean campaign, SubX hosting completed, SubX placement ran clean, Clean-streak recovery, Ignored a request, Did not post in the window, Post removed early, Paid pin taken down early, Posted over a top-of-feed ad, CP post removed early, Left the partner channel early, Left a CP slot unconfirmed, SubX post removed early, Fraud concern upheld, Fraud concern rejected, Concern dismissed β inconclusive, Repeated rejected concerns, Boost not delivered, Chargeback, Referral abuse, AI misuse, AI abuse, Restored β not at fault, Forgiven, Admin adjustment, Score frozen for review, Review hold lifted, Accounts merged β lower score kept, Recovered ledger entry and Carried over from a removed account.
An entry the page has no short label for prints the reason it was recorded with instead β a full sentence such as "2 other posts went up during the 60-minute exclusive window, the first 40 minutes in." That is the whole record and it is worth reading. The row behaves like every other penalty, Appeal button included.
Each entry carries its appeal state on the right:
- an Appeal button β the penalty stands and you have not contested it,
- Appeal under review β you contested it and the team is looking,
- Reversed β it was overturned and its exact points restored.
With nothing to show, the ledger reads "No activity yet β your score sits at the neutral 8.0 until you complete deals."
One label surprises people: Carried over from a removed account. Deleting an account that is leaving with a below-baseline score records a one-way hash of the identity and the floor it must resume at β kept for 45 days, or 90 after an unforgiven upheld fraud. Registering again with the same identity inside that window re-seeds the score at that floor rather than at 8.0, and the ledger says so. An account in good standing leaves nothing behind, so this never affects anyone who deletes an account with a healthy score. The same protection applies whichever surface the account was removed or re-created from β the bot and the website file the identity under the same key.
Each line is one reliability event, and each carries an OFRE-β¦ reference β one of the Onflow Ads IDs every thing on the platform gets. You do not need it to contest a mark: pressing Appeal on the entry already tells us which one you mean. If we quote an OFRE- to you, quote it back β it names that entry and no other. Your score as a whole is an account matter, so quote your OFA-β¦ for that.
Appealing a penaltyβ
If a mark should not be there, contest it from the page. Every appeal is read by a human β you can never remove a ledgered penalty yourself, and appealing is exactly how you ask.
- Open https://onflowads.com/telegram/dashboard/reliability and scroll to Your ledger.
- Find the penalty and press its Appeal button. Only entries that can be appealed show one: it has to be a negative amount that still stands, not already reversed and not already appealed.
- A dialog opens headed Appeal followed by the penalty's label, asking "Briefly, why do you think this penalty is wrong? A human reviews every appeal β if it's overturned, the exact points are restored."
- Write your reason β up to 500 characters, with a live counter β and press Submit appeal. Ctrl+Enter (or Cmd+Enter) submits too.
- A toast confirms "Appeal submitted β our team will review it." and the entry flips to Appeal under review.
You can file three appeals a day. A fourth in the same day is refused with "Too many attemptsβ¦" β every appeal lands in a human queue, and the cap is what keeps it a queue rather than a flood.
The outcomesβ
- Overturned β the penalty is reversed, the exact points it took are restored, and the entry is tagged Reversed. A genuine restore can carry you back above the usual healing ceiling, because it is returning standing you had already earned, and it stops the mark slowing your clean-streak healing.
- Partly restored β a reviewer can hand back part of a penalty and leave the rest standing. The ledger carries both movements, and a later restoration or an undo points at the same original entry; together they never hand back more than the penalty took. The Reversed tag appears only once the whole amount has come back.
- Declined β the mark stands and the Appeal under review tag clears. You can still recover the points the ordinary ways.
There is no email, no Telegram DM and no bell notification when an appeal is decided against you. The outcome shows up only on the ledger itself: either the row flips to Reversed, or the Appeal under review tag disappears. Channel-owner accounts may also see a note in the Paid Promotions activity feed at /telegram/dashboard/paid-promotion/activity, but advertiser-side accounts never see that feed at all. Check your ledger yourself rather than waiting to be told.
Rules and edge casesβ
| What you see | What it means |
|---|---|
| "You've already appealed this β our team will review it." | One open appeal per entry |
| "That penalty was already reversed β nothing to appeal." | There is nothing left to contest |
| "That isn't a penalty you can appeal." | Credits, restorations and recovery entries cannot be appealed β only negative marks |
| "Too many attempts. Please wait a minute and try again." | You have filed three appeals today; the next one waits for tomorrow |
Appealing freezes nothing: while the review runs, your score, your gates and your healing behave exactly as before.
What a low score costs β beyond the gatesβ
Even above every floor the score keeps working quietly in the background. It is a dial, not a pass/fail.
| Lever | What the score does to it |
|---|---|
| Marketplace ranking | A higher score lifts your listings up the marketplace |
| Ad reach | Below 7.5 your ads reach a fraction of the full drop count: Γ0.75 at Fair, Γ0.5 at Building, Γ0.3 below the floor |
| Marketplace fee | A penalty restarts your veteran streak β the 100 clean campaigns on one channel that earn the veteran rate β so you pay the standard rate on every new booking until it is rebuilt; the standard rate is 9% and the veteran rate is 7%. A penalty overturned on appeal restores the streak by itself |
| AI allowance | Full at Fair and above; text throttled and images off at Building; text at the Free baseline below 4.0; AI off entirely while under review; Trusted earns extra text headroom |
| Developer API | Your API key's per-minute rate follows those same bands β refused while you are under review, clamped to the lowest plan rate below 4.0, halved at Building, a fifth more at Trusted. The exact figures: What a low score costs beyond the gates |
If something goes wrongβ
| What you see | What it means | What to do |
|---|---|---|
| A chip is crossed with a red β | Your score is below that marketplace's floor | Complete clean deals, or let a clean streak heal it β see above |
| Your badge reads Under Review | A fraud concern about you is open, or your wallet is frozen | Nothing to do but let the review finish; in-flight deals still complete |
| A block message naming an amount owed and a deadline | Your wallet is below zero β checked before your score is | Top up; see Owing money |
| A penalty with no Appeal button | It is a credit, already reversed, or already appealed | Check the tag on the right of the row |
| "Please add a short reason so our team can review it." | The appeal dialog was submitted empty | Write a sentence and submit again |
| Your appeal has no visible outcome | Declined appeals are silent | Re-read the row: a cleared Appeal under review tag means it was declined |
| A Carried over from a removed account entry | An earlier account with the same identity left below baseline | See the note above |
| A blocked action quoting a floor different from the chip | The chip's wording is fixed text; the gate uses the live floor | Trust the block message |
| A ledger row that is a sentence, not a label | An entry the page has no short label for β it prints the reason it was recorded with | Read the sentence; appeal it like any other penalty |
| A β0.40 you cannot place on any booking | The ledger row names the window, not the channel. The matching notice, with the @handle, is in the Paid Promotions activity feed | Open /telegram/dashboard/paid-promotion/bookings |
| A Telegram message says a penalty was "recorded" but your ledger does not show it yet | The website prices the bot's observation on its next sweep, usually within a minute | Reload the page shortly. If the message said logged for review, nothing has been applied at all |
Relatedβ
- Your reliability score (Policies) β the published rulebook
- Appealing a penalty β the policy side of an appeal
- Account standing β freezes, reviews and what they gate
- Owing money β the two marks that can also take your wallet below zero
- The channel story popup β where an approximate version of these deltas appears
Next: FAQ and troubleshooting β quick answers for everything in this section.