Proof of Call v2

Don’t trust callers. Verify them.

On-chain caller scorecard NEAR testnet · Est. on-chain

— Don’t trust callers. Verify them.

Registered before the move.
The record can’t be edited.

Alpha callers delete their misses, edit their calls, and screenshot only the wins. Proof of Call ends that: a caller registers a call on-chain, before the move — the block timestamp can’t be forged. An oracle fetches the entry price from DexScreener (the caller never types it) and scores the call at 15m / 1h / 6h / 24h. Wins and losses stay on the record, forever.

In v2 a call can carry a target, an invalidation price and a short thesis, an optional 0.1 NEAR bond that is forfeited if the call loses ≥50% at 24h — and callers can link their trading wallets, so the record can show whether the wallet actually bought.

Loading on-chain records from NEAR testnet…

The record below already holds two real channels’ history — and it is not flattering: at the 24h horizon, only 10 of 67 tracked calls won. That is the point. Proof cuts both ways.
01

Register, with a bond

The caller signs the call on-chain and can attach a 0.1 NEAR bond. The block timestamp is the proof — it can’t be backdated.

02

The oracle stamps the entry

The caller never types a price. The oracle fetches the real entry from DexScreener at registration and writes it verbatim.

03

Scored on schedule

Outcomes land at 15m / 1h / 6h / 24h — wins and losses alike, with target and invalidation checked at every horizon.

04

A receipt NFT

Every call mints a receipt NFT to the caller: portable proof of when the call was made. The record is permanent.

📦 v1 archive: the original v1 contract record stays live and untouched at proofofcall.opengraspdev.testnet — the preserved v1 archive. Its 25 calls (ids 0–24) were imported into v2 as seeded history, labelled IMPORTED below. On 2026-11-13 the imported record was expanded from the still-running tracker: ids 26–66 are the rest of Channel A’s matured calls, Channel B (a second tracked channel — a trading diary) has its own imported profile (ids 67–68), and call id 25 is the first live v2 call — bonded and structured.
01 · The board

Caller leaderboard

Loading…

02 · The record

Caller profile

Loading…

03 · On the record

Register a call

What happens next: the contract stores your account + the block timestamp and mints you a receipt NFT (call-<id>). You never enter an entry price — the oracle fetches the entry price from DexScreener and writes it, then records the outcome at 15m, 1h, 6h and 24h, including whether your target or invalidation price was hit. If you attached the bond, it stays locked until the 24h score lands. A short profits when the price falls; a long when it rises. The record cannot be edited or deleted — by anyone.
05 · The feed

Recent calls

Loading…

06 · Verify it yourself

How it works — and how to verify everything

  1. Register. The caller signs register_call(chain, token_ref, direction, target_price, invalidation_price, thesis), optionally attaching the 0.1 NEAR bond. The contract stores the signer and the block timestamp. That pair is the proof the call existed, then.
  2. Entry price. Set only by the oracle, fetched from DexScreener at registration time and stored verbatim — compare it against the public source tick-for-tick.
  3. Scoring. At fixed horizons — 15m / 1h / 6h / 24h, no discretion — the oracle records the exit price (verbatim), the return in basis points from the caller’s perspective, and whether the call’s target / invalidation prices were hit. One outcome per horizon, append-only.
  4. Bond. A bonded call locks 0.1 NEAR. After the 24h score the bond is claimable back by the caller (claim_bond) — unless the call lost ≥50% at 24h, in which case it is forfeited.
  5. Linked wallets. A caller can link trading wallets (link_wallet / unlink_wallet); the oracle checks them against the call and records a plain-language verdict on the call itself.
  6. Receipt. Every call mints one receipt NFT to the caller at registration: portable proof of when the call was made.
  7. Recompute it yourself. Every number on this page is a view call against one public contract. Take any stored entry/exit price pair and the direction — the return is arithmetic anyone can redo.
About the imported record: two profiles below are imported track records of real Telegram channels, from a live listener + DexScreener tracker running since 2026-11-03 — imported history, clearly labelled, not live-registered calls. “Channel A” (a private call channel): ids 0–24 (the 24 original imports plus the BONK call, which was registered live on v1) imported on 2026-11-11, plus ids 26–66 — every remaining matured tracked call — imported on 2026-11-13. “Channel B” (a trading-diary channel): tracked since 2026-11-11, first-mention = entry, matured calls only, ids 67–68 under its own profile. Call id 25 is the first live v2 call.