Submitting Proof of Delivery
A live post is not yet a delivered booking. Proof is what converts it: a public link to the exact message carrying the ad, submitted from the booking card. It is the single most consequential button in the seller flow — it starts your payout clock, the advertiser's review window, the monitor, and the tamper-evident record that decides any later dispute.
This page assumes the ad is already live. Getting it there is covered in Posting the ad.
When proof is submitted for you
If the booking was accepted with auto-post on, there is nothing to do. The bot publishes the ad and records the delivery in the same motion — the link, the timestamp and the frozen creative are all captured automatically. Everything described below still happens; you simply do not press the button.
The rest of this page is about manual delivery.
Submitting the link
On the accepted booking's card in the In progress tab:
- Paste the public link to the live post into the box marked with the example
https://t.me/yourchannel/123. - Press Mark posted.
That is the whole action. The card immediately changes to a delivered state and the advertiser is notified: "Your placement is live — please verify."
What link is accepted
The link is your proof, so it has to be something Onflow Ads can independently visit and re-check for days afterwards.
It must be:
- A public Telegram post link, in the form
https://t.me/yourchannel/123— exactly what Telegram gives you from the post's own Copy Link option. - Pointed at the exact message carrying the ad — that specific message is what the monitor visits, verifies and measures for the delivery report.
It cannot be:
- A private-channel link (the
t.me/c/...form) or an invite link. Those cannot be verified, and only public channels can host marketplace placements in the first place. - A link to your channel generally, a screenshot, or a forwarded copy.
- A link to a different channel from the one booked.
What you will see if it is wrong:
| Message | Cause |
|---|---|
| "Paste the https://t.me/… link to the live post." | The box was empty or the link does not start with a Telegram address |
| "That doesn't look like a public Telegram post link (https://t.me/…)." | The link is not a Telegram post link |
| "That booking can't be marked delivered right now." | The booking is not in an accepted, undelivered state — it may have been refunded, cancelled or already delivered |
| "The posting window hasn't opened yet — it starts ..." | Too early; the opening time in UTC is named |
| "The posting window has closed — this booking is being refunded to the advertiser." | Too late; see Posting the ad |
The monitor visits the link you give it. A link to the wrong message — or to a message you later delete while the real ad stays up — reads as a missing post and risks a flag on a placement that genuinely ran. Copy the link from the ad post itself, and check it before pressing Mark posted.
What "Mark posted" sets in motion
Marking a booking delivered is the pivotal moment of the whole placement. In one step, five things start:
- The booking moves to Delivered, and the advertiser is asked to verify. They get a review window — the ad's promised duration, capped at 48 hours — in which they can confirm the post (which releases your payout immediately) or raise a concern (which holds it). If they do neither, the placement is judged delivered when the window lapses.
- Your payout release date is fixed. It is computed at that moment from your plan's payout schedule and written onto the booking. It never moves afterwards — not if your subscription changes later, not if you upgrade or lapse. The card shows it as "Delivered — funds release on ...". See Escrow and getting paid.
- The monitoring bot starts watching the post — that it still exists, that it stays pinned through its promised hours at the top, and what it really delivers in views, forwards, reactions and clicks. See Delivery monitoring and your reliability.
- The agreed creative is frozen into the proof archive — see below.
- Retention escrow opens its clock, if the booking carries one. The retention window is measured from delivery, because what it measures is whether the post survives.
The proof archive
At the instant of delivery, Onflow Ads writes an append-only, cryptographically signed record of the placement: the booked caption, the manifest of the booked media, and your live post link. Every later monitor visit can append a live capture to that same record, flagged when the content has drifted from what was booked.
Why it matters to you:
- It is evidence you cannot be argued out of. A post that went up on time, stayed up, stayed pinned and was never edited produces a trail that defends you by itself.
- Both sides see the same trail. A dispute is argued over one shared record rather than over screenshots and recollection.
- Edits are visible. Telegram's own edit signal is recorded, so changing an ad after publishing reads as content drift.
Because the archive detects edits, keep the delivered post identical to the booked creative. If something genuinely has to change, agree it with the advertiser first.
After proof: what you should see
| Card state | Meaning |
|---|---|
| "Delivered — funds release on [date]" | Proof accepted; the release date was fixed at this moment |
| "Instant payout opens [date]" | Early release becomes available after the advertiser's review window |
| "Delivery verified — the hold has cleared." with Claim $X payout | Claimable now |
| "We've flagged a problem with this placement — the payout is paused" | The monitor found the post missing, the channel unreachable, or the ad unpinned early — see Delivery monitoring |
| "A fraud concern on this booking is under review" | The advertiser raised a concern — see Disputes |
Fixing a mistake
- Wrong link submitted. Contact support from the booking straight away. The monitor will be visiting the link you gave it, so a wrong link is worth correcting before it turns into a flag.
- You deleted and re-posted the ad. The proof points at the original message. Tell the advertiser and contact support; do not simply leave the archive pointing at a message that no longer exists.
- You marked posted and then the post came down. Whether accidental or not, that is exactly what the monitor is watching for. Re-post it and contact support from the flag notification.
- You cannot submit at all because the window closed. The refund is automatic. See Posting the ad.
FAQ
Does marking posted pay me immediately?
No — it starts the clocks. The advertiser gets their review window, then escrow releases on the schedule fixed at delivery, or immediately if the advertiser confirms the post. Full timeline in Escrow and getting paid.
Do I have to submit anything else — a screenshot, a stats export?
No. The link is the only artefact you provide. Everything else — the views, the pin checks, the survival checks — Onflow Ads measures itself, which is exactly why buyers accept it.
Can I submit proof for an auto-posted booking?
There is nothing to submit; it was recorded at publish. If an auto-post genuinely failed and you were asked to post by hand instead, the card switches to the manual state with the link box on it.
The link works for me but Onflow Ads says it cannot verify it.
Check that the channel is public and that @OnflowAdsBot is still an admin. A private-channel link cannot be checked by anyone but its members, so it cannot serve as marketplace proof.
How long is the proof kept?
The archive is append-only and outlives the booking. The advertiser's window to raise a fraud concern is 14 days from the post going live, and the record that would decide such a claim was created before anyone knew whether it would be needed.
Next: Escrow and getting paid — when the money leaves escrow, and how to take it sooner.