Files
instantadpay/public/ledger.html
T
martbost 489d832546 Sign-in: stop telling a fast returning member off for being fast
The email-code endpoint refuses a request that arrives within two seconds of
the page loading, because a script fills a form instantly and a person does
not. A member whose email is already filled in by the browser has nothing to
type, taps straight away, and gets "Give the page a second, then tap again."

The page now waits out the remainder itself and sends when the window has
passed, so the person sees the normal sending state instead of an error.
The server check is untouched, so anything posting at the endpoint without a
page behind it still fails exactly as before.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-23 05:50:34 -05:00

48 lines
2.9 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
<title>Live ledger | InstantAdPay</title>
<meta name="description" content="Every purchase, payout, and pass-up on InstantAdPay, streamed straight from the blockchain with a verify link on every line.">
<link rel="canonical" href="https://instantadpay.com/ledger">
<meta property="og:type" content="website"><meta property="og:site_name" content="InstantAdPay">
<meta property="og:url" content="https://instantadpay.com/ledger">
<meta property="og:title" content="InstantAdPay — the live payout ledger">
<meta property="og:description" content="Watch real ad purchases split into instant on-chain payouts, live. Every line links to the raw transaction.">
<meta property="og:image" content="https://instantadpay.com/banners/iap-hero-1200x630.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="InstantAdPay — the live payout ledger">
<meta name="twitter:description" content="Real ad purchases splitting into instant on-chain payouts, live and verifiable.">
<meta name="twitter:image" content="https://instantadpay.com/banners/iap-hero-1200x630.png">
<meta name="theme-color" content="#043b2f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap">
<link rel="icon" type="image/png" href="/logo-icon.png">
<link rel="stylesheet" href="/assets/site.css?v=20260910h">
</head>
<body>
<div class="wrap">
<section class="hero" style="padding-bottom:20px">
<h1>The ledger <em>does not lie</em>.</h1>
<p class="lead">This page streams every payment the contract has ever made. If it is not here,
it did not happen. Every line carries a verify link straight to the block explorer. Go click one.</p>
<p><span class="badge" id="liveBadge">connecting…</span>
<span class="small muted" id="statLine"></span></p>
</section>
<div class="card" id="adSlotBanner" hidden></div>
<div class="card" style="padding:0">
<div data-ph-slot="0" style="margin:0 0 10px"></div>
<div class="feed" id="feed"><div class="row muted">Loading recent history…</div></div>
<div class="nas-zone" style="max-width:728px;margin:22px auto 0;overflow:hidden;text-align:center"><!-- nas-ledger --><script src="https://www.networkadspace.com/showadss.php?w=728&h=90&n=1&bw=728&bh=90&c=999"></script></div>
</div>
<div class="card small" id="adSlotText" hidden></div>
<footer>
<div>InstantAdPay · <a href="/">how it works</a> · <a id="contractLink" href="#" target="_blank" rel="noopener">contract source ↗</a></div>
</footer>
</div>
<script src="/assets/common.js?v=20260923b"></script>
<script src="/assets/ledger.js?v=20260906m"></script>
<script src="https://polhunter.com/embed.js" data-slots="1" async></script>
<script src="/assets/chat.js?v=20260906m"></script>
</body>
</html>