How banners, page placement, responsive sizes, CPM bidding, impressions, LUNC payment, publisher earnings, the BURNADS signup offer and the 60/20/20 ledger work.
Advertisers
Upload an exact-size banner, choose impressions and a GBP CPM bid, then pay the locked LUNC amount after approval.
Publishers
Verify an HTTPS domain, choose a slot for each page or template, paste the generated script, and earn 60% standard payout or 70% for three months with code BURNADS.
StatsBin's 20%
Paid directly to the public StatsBin validator wallet for transparent upkeep funding, reduced to 10% for BURNADS promo impressions.
<head>, publish it and select Verify.BURNADS when adding a website to receive 70% publisher payout for three months from that site's first billable paid advert.ads.txt line.| Code | Artwork | Best placement | Responsive rule |
|---|---|---|---|
| RESPONSIVE | 1200 × 628px | Best all-purpose option; scales from wide desktop content down to mobile containers. | Maximum 1200px wide; scales down to 100% of a narrower parent while preserving aspect ratio. |
| LEADERBOARD | 728 × 90px | A slim banner for desktop headers, article breaks and footers. | Maximum 728px wide; scales down to 100% of a narrower parent while preserving aspect ratio. |
| MEDIUM_RECTANGLE | 300 × 250px | A compact unit for sidebars and in-content columns. | Maximum 300px wide; scales down to 100% of a narrower parent while preserving aspect ratio. |
| MOBILE_BANNER | 320 × 100px | A short unit designed for narrow mobile page sections. | Maximum 320px wide; scales down to 100% of a narrower parent while preserving aspect ratio. |
Artwork dimensions are exact so advertisers know what publishers will display. Files must be PNG or JPEG and no larger than 1 MB. The server validates the actual file signature and pixel dimensions, stores the bytes in the database, computes a SHA-256 hash and makes the approved creative immutable. Replacing an image requires a new campaign and review.
“Responsive” does not crop, stretch or redesign artwork. It means the whole ad shrinks proportionally when its container is narrower. Publishers should choose MOBILE_BANNER for compact mobile-only areas and RESPONSIVE for flexible article/content areas.
Display advertising is normally auctioned, and advertisers can bid for viewable impressions. LUNC Burn Ads therefore publishes a transparent £10 GBP CPM floor instead of claiming one fixed external-network tariff. CPM means the price for 1,000 valid viewable impressions.
Advertisers may choose £10, £15, £25 or £50 presets, or a whole-GBP custom bid up to the published maximum. This is prepaid first-price ranked rotation: the advertiser pays its chosen CPM and higher bids receive proportionally greater selection weight among campaigns for the same slot size. It is not a second-price auction, and no advertiser is charged another bidder's price.
Preset impression packs are 1,000, 5,000, 10,000, 25,000, 50,000 and 100,000. Custom purchases are allowed from the published minimum to maximum in increments of 1,000. The GBP campaign value is CPM × impressions ÷ 1,000.
StatsBin obtains current LUNC/GBP and LUNC/USD market rates when quoting. The campaign records the bid, impression count, GBP total, USD equivalent, both LUNC rates, source, timestamp, price per impression and exact LUNC total. Submission refreshes and locks those facts; later exchange-rate changes cannot alter the approved payment amount.
Terra Classic tax and wallet/network fees are separate and displayed by Keplr.
The publisher dashboard generates the publisher ID automatically. Choose a size, place the script once in the page <head> or shared template, then put the placeholder div exactly where the ad should render.
<!-- 1. Place this in the page <head> or shared template --> <script async src="https://statsbin.com/burn-commerce/v1/burn-ads.js" data-publisher-id="bc_pub_your_32_character_publisher_id" data-size="RESPONSIVE"> </script> <!-- 2. Place this where the ad should appear --> <div id="statsbin-ads"></div>
For more than one ad slot on a page, use class="statsbin-ads" or data-statsbin-ad-slot on each placeholder. Each placeholder can override size with data-size="MOBILE_BANNER" or its own data-publisher-id.
<!-- Optional root /ads.txt line for this publisher --> statsbin.com, bc_pub_your_32_character_publisher_id, DIRECT
Plain HTML: paste the script into the head and the placeholder between content blocks. WordPress: put the script in the theme/header plugin and the placeholder in a Custom HTML block. React/Next.js: keep the script in the page/layout head and call window.StatsBinBurnAds.render() after client-side route changes if a placeholder is mounted later.
The script is asynchronous, does not block the page parser and renders inside Shadow DOM so site CSS is less likely to break the ad. Localhost and loopback origins can preview ads, but preview events are non-billable. Live billing remains bound to the verified publisher domain.
HTML5 games can use the game helper directly. Unity, Godot, Android and iOS games can show the same helper inside a small HTTPS WebView owned by the verified publisher domain. Use natural breaks such as pause screens, level-complete screens or optional reward moments; never force repeated refreshes or incentivised invalid clicks.
<script async src="https://statsbin.com/burn-commerce/v1/burn-ads-game.js"></script>
<script>
// Call this from your pause screen, interstitial break, reward screen or WebView bridge.
function showStatsBinBurnAd() {
return StatsBinBurnAdsGame.show({
publisherId: "bc_pub_your_32_character_publisher_id",
size: "MOBILE_BANNER",
overlay: true,
onClose: function () {
// resume your game loop here
}
});
}
</script>The helper preloads the normal Burn Ads script, creates a mobile banner overlay, exposes a close() handle and calls your optional onClose callback so the game can resume safely. If no paid campaign is available, it shows the StatsBin Burn Ads fallback image instead of leaving a blank slot.
Verified sites must retain the ownership meta tag. Delivery requires a successful verification within the previous 90 days, limiting the risk from an expired, transferred or hijacked domain.
Use Reverify ownership in the publisher dashboard before the window expires. Verification repeats public-DNS, pinned-address HTTPS, valid-TLS, no-redirect, response-size and exact-token checks.
If your website uses Content Security Policy, merge StatsBin into the existing directives; do not replace your policy. The embed needs the script, API connections and approved banner images from https://statsbin.com.
Content-Security-Policy: script-src 'self' https://statsbin.com; connect-src 'self' https://statsbin.com; img-src 'self' https://statsbin.com;
Sites using nonce-based script-src or strict-dynamic must put their own per-response nonce on the external script. For the legacy style fallback, also pass the same value as data-style-nonce. Modern browsers use an isolated constructable stylesheet.
<script async nonce="YOUR_PER_RESPONSE_NONCE" data-style-nonce="YOUR_PER_RESPONSE_NONCE" src="https://statsbin.com/burn-commerce/v1/burn-ads.js" data-publisher-id="bc_pub_your_32_character_publisher_id" data-size="RESPONSIVE"> </script>
StatsBin serves the script and approved images with cross-origin resource headers for sites using cross-origin isolation. No wildcard credential sharing is enabled; publisher API responses are returned only to the domain registered and verified for that publisher ID.
A raw request is not billable. At least 50% of the rendered ad must remain visible for one continuous second before the browser submits an impression event.
The signed event token is bound to one campaign, publisher, size and placement, expires quickly and can be used only once. Two overlapping keyed six-hour viewer hashes suppress repeat billing across time-bucket boundaries without storing a permanent cross-site identifier. Clicks are recorded separately and do not create another charge.
Invalid, automated, encouraged, hidden or manipulated traffic can lead to publisher suspension and payout review.
The approved Keplr transaction has three exact outputs: 60% to the public publisher settlement wallet, 20% to the public StatsBin validator wallet and 20% directly to the Terra Classic burn module.
StatsBin's 20% directly funds LUNC Burn Ads hosting, databases, creative storage, backups, monitoring, security controls, development and maintenance while remaining visible on-chain.
The application verifies chain ID, sender, recipient addresses, denom, amounts, memo, success and confirmations before activation. Each valid impression atomically attributes the standard 60% publisher, 20% StatsBin and 20% burn shares. For BURNADS promo sites, the impression ledger attributes 70% to the publisher and 10% to StatsBin for three months from the first billable paid advert; the burn share remains 20%.
Keplr simulates the transaction and displays current Terra Classic gas/tax before signing. Publisher payouts are separate settlement-wallet transactions, so the settlement wallet must keep a small extra LUNC reserve for network fees.
Every creative and HTTPS destination is reviewed before payment. Approval checks do not certify that an advert is lawful in every country; advertisers remain responsible for financial-promotion, consumer, intellectual-property and sector rules.
Gambling, casino, betting, lottery and similar adverts are blocked before review where obvious and should be rejected manually if a campaign tries to bypass the wording filter.
The embed sets no StatsBin cookie and uses no cross-site local-storage identifier. Limited request metadata is transformed into a non-reversible keyed hash before the billing ledger stores it. Publisher origin binding prevents another domain from using a verified publisher ID.
Publisher login uses a five-minute, single-use ADR-36 wallet challenge bound to the StatsBin origin and exact payout address. The opaque account token is stored only in a Secure, HttpOnly, SameSite=Strict cookie, hashed in the database and expires after 12 hours. Every API operation repeats authentication and website ownership checks.
Admins can reject campaigns, suspend publishers and review payout anomalies, but cannot rewrite immutable price, creative, funding or event facts.
Publisher earnings are the sum of standard 60% shares, or 70% BURNADS promo shares, from valid billable impressions delivered on that verified domain. The private dashboard separates available, pending/reserved and paid amounts and retains every payout status.
Once the 500,000 LUNC threshold is reached, the publisher can request the full available balance for one site. The database locks and rechecks available earnings, preventing duplicate or excessive requests. Before pay, reject or reconciliation, the control centre obtains a single-use 15-minute database claim so two administrators cannot process the same payout concurrently. StatsBin then signs explicitly with Keplr and verifies recipient, amount, memo and confirmations before recording it as paid.
The login wallet is the immutable payout destination so a stolen browser session cannot redirect earnings. Paid rows link to independent Terra Classic transaction evidence. Publishers remain responsible for applicable tax and reporting obligations.
Publishers sign in with the same Terra Classic wallet that receives earnings. There is no publisher password, recoverable management key or secret stored in local storage. Wallet recovery remains with the wallet provider; StatsBin will never request a seed phrase or private key.
The dashboard lists active sessions and can revoke every other browser immediately. Signing out revokes the current server-side session. A payout-wallet change requires a security review and proof of both wallets because changing it silently would let an attacker redirect earnings.
Advertiser campaign management remains a separate high-entropy capability key shown once. The server stores only its keyed hash. Save an advertiser key securely before paying; it cannot sign or move LUNC and cannot be recovered by StatsBin.
Banner upload rejected
Export the exact pixel dimensions for the selected slot, use PNG/JPEG, keep the file below 1 MB and remove renamed/non-image files.
No price quote
Use a whole-GBP CPM at or above the floor and impressions in 1,000 increments. The system refuses campaign creation if current GBP/USD LUNC rates cannot be verified.
Domain verification fails
Put the exact meta tag in the registered HTTPS homepage's server-rendered head. Check redirects, TLS, public DNS and caches before retrying.
Publisher login fails
Use the Keplr wallet that owns the payout address, update Keplr if secure message signing is unavailable, confirm the StatsBin audience in the message, and request a fresh challenge after five minutes.
Ad does not appear
Confirm the site is active, the publisher ID and size are exact, and the header script and placeholder are both present. Localhost can preview; live billing requires the verified origin. If no paid campaign is available, the StatsBin Burn Ads fallback image displays instead of an empty slot.
Lost advertiser key
It cannot be recovered. Do not pay for a campaign unless its management key has been saved securely. Publisher access is recovered through the payout wallet, not this key.