85f710f322
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
95 lines
9.3 KiB
HTML
95 lines
9.3 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
<title>Promo tools · PolHunter</title>
|
|
<meta name="description" content="Banners, posts, swipes and the teaser video, all carrying your InstantAdPay referral.">
|
|
<link rel="stylesheet" href="/style.css?v=12">
|
|
</head>
|
|
<body>
|
|
<div class="wrap">
|
|
<header class="top">
|
|
<a class="mark" href="/"><span class="coin"></span>PolHunter</a>
|
|
<nav class="nav">
|
|
<a class="btn ghost sm" href="/leaders">Leaderboard</a>
|
|
<a class="btn ghost sm" href="/#how">How it works</a>
|
|
<a class="btn sm" href="https://instantadpay.com/api/my/polhunter">Open my board</a>
|
|
</nav>
|
|
</header>
|
|
|
|
<section class="section" style="padding-top:14px">
|
|
<h2>Promo tools</h2>
|
|
<div class="sub">Everything here carries your link. People who sign up from it join InstantAdPay under you, and their hunts start on your line.</div>
|
|
<div class="notice" id="linkNote">Sign in to get your personal link: <a href="https://instantadpay.com/api/my/polhunter">Open my board</a>, then come back here. Until then the tools point at polhunter.com with no referral.</div>
|
|
<div class="copybox" style="margin-top:12px"><input id="mylink" readonly value="https://polhunter.com/"><button class="btn pol sm" data-copy="#mylink">Copy link</button></div>
|
|
</section>
|
|
|
|
<section class="section">
|
|
<h2>Share</h2>
|
|
<div class="sub">One tap. Edit the words if you like; the link is the part that matters.</div>
|
|
<div class="share" id="share"></div>
|
|
</section>
|
|
|
|
<section class="section">
|
|
<h2>The teaser</h2>
|
|
<div class="sub">Thirty seconds. Post it with your link, or send people to the page and let it play there.</div>
|
|
<video class="hero-video" controls playsinline preload="metadata" poster="/video/polhunter-teaser-poster.jpg" src="/video/polhunter-teaser.mp4" style="border-radius:18px;max-height:60vh"></video>
|
|
<p style="margin-top:10px"><a class="btn ghost sm" href="/video/polhunter-teaser.mp4" download="polhunter-teaser.mp4">Download the mp4</a></p>
|
|
</section>
|
|
|
|
<section class="section">
|
|
<h2>How it feeds InstantAdPay</h2>
|
|
<div class="sub">A hundred seconds for your team: what a feeder program is, the free taste of POL on day one, and how every share puts sign-ups on your InstantAdPay line.</div>
|
|
<video class="hero-video" controls playsinline preload="metadata" poster="https://coolify-saasytop.nyc3.digitaloceanspaces.com/training/polhunter-feeder.jpg?v=20260920d" src="https://coolify-saasytop.nyc3.digitaloceanspaces.com/training/polhunter-feeder.mp4?v=20260920d" style="border-radius:18px;max-height:60vh"></video>
|
|
<p style="margin-top:10px"><a class="btn ghost sm" href="https://coolify-saasytop.nyc3.digitaloceanspaces.com/training/polhunter-feeder.mp4?v=20260920d" download="polhunter-feeder.mp4">Download the mp4</a></p>
|
|
</section>
|
|
|
|
<section class="section">
|
|
<h2>Banners</h2>
|
|
<div class="sub">Right-click to save, or copy the embed code: it already has your link in it.</div>
|
|
<div class="banners" id="banners"></div>
|
|
</section>
|
|
|
|
<section class="section">
|
|
<h2>Posts and swipes</h2>
|
|
<div class="sub">Written to be pasted as they are. No earnings promises, and keep it that way.</div>
|
|
<div class="grid" id="swipes"></div>
|
|
</section>
|
|
|
|
<div class="adslot" data-ad="promo"><!-- nas: 468x60 on phones, 728x90 on wider screens --><script>(function(){var m=window.innerWidth<600;document.write('<scr'+'ipt src="https://www.networkadspace.com/showadss.php?'+(m?'w=468&h=60&n=1&bw=468&bh=60':'w=728&h=90&n=1&bw=728&bh=90')+'&c=999"></scr'+'ipt>');})();</script></div>
|
|
|
|
<footer class="foot">PolHunter rewards completed missions. Rewards are not income and are not guaranteed; the daily pool is limited and drips are random within the posted range. Cryptocurrency involves risk of loss. <br><a href="https://instantadpay.com">InstantAdPay</a></footer>
|
|
</div>
|
|
<script>
|
|
(async () => {
|
|
const esc = s => String(s == null ? '' : s).replace(/[&<>"]/g, c => ({ '&': '&', '<': '<', '>': '>', '"': '"' }[c]));
|
|
let link = 'https://polhunter.com/', who = null;
|
|
try { const r = await fetch('/api/my/board'); if (r.ok) { const b = await r.json(); link = b.share.link; who = b.me; } } catch (e) {}
|
|
document.getElementById('mylink').value = link;
|
|
if (who) document.getElementById('linkNote').innerHTML = 'Signed in as <b>' + esc(who.username ? '@' + who.username : '#' + who.memberId) + '</b>. This is your link. Anyone who signs up from it lands on your InstantAdPay line.';
|
|
const L = encodeURIComponent(link);
|
|
const posts = [
|
|
{ name: 'Short post', text: 'New thing I am playing with: PolHunter. You visit a site, find your code on the page, type it in, and a random drip of POL lands in your wallet. On chain, with a link to prove it. ' + link },
|
|
{ name: 'Story post', text: 'I spent two minutes on a training page tonight, found a little glass coin at the bottom, typed the code, and 0.26 POL showed up in my wallet a minute later. That is PolHunter. Small drips, real chain, no catch beyond actually visiting the site. Free to start, you just need an InstantAdPay account and a wallet. ' + link },
|
|
{ name: 'Telegram / WhatsApp', text: '\u{1F3AF} PolHunter is live. Missions across our sites, one code to find per site, random POL drips paid straight to your wallet. The hiding place moves every day. Start here: ' + link },
|
|
{ name: 'Email swipe', subject: 'A scavenger hunt that pays in POL', text: 'Hey,\n\nQuick one. I have been testing something called PolHunter.\n\nYou pick a mission, spend a couple of minutes on the site it names, and your personal code appears somewhere on the page. Type it in and a random drip of POL goes to your wallet, on Polygon, with a transaction link you can open.\n\nIt is free to start. You need an InstantAdPay account (free) and a wallet linked to it so the drips have somewhere to land.\n\nHave a look: ' + link + '\n\nNo promises about amounts. The pool is limited every day and the drips are random within the posted range. It is fun, it is real, and it takes a few minutes.\n\nTalk soon' },
|
|
];
|
|
document.getElementById('share').innerHTML = posts.map((p, i) => '<div class="card"><h3>' + esc(p.name) + '</h3>' + (p.subject ? '<p><b>Subject:</b> ' + esc(p.subject) + '</p>' : '') + '<textarea id="t' + i + '" rows="' + (p.subject ? 12 : 5) + '">' + esc(p.text) + '</textarea>'
|
|
+ '<div class="sharebtns"><button class="btn pol sm" data-copy="#t' + i + '">Copy</button>'
|
|
+ (p.subject ? '' : '<a class="btn ghost sm" target="_blank" rel="noopener" href="https://twitter.com/intent/tweet?text=' + encodeURIComponent(p.text) + '">X</a><a class="btn ghost sm" target="_blank" rel="noopener" href="https://t.me/share/url?url=' + L + '&text=' + encodeURIComponent(p.text.replace(link, '').trim()) + '">Telegram</a><a class="btn ghost sm" target="_blank" rel="noopener" href="https://www.facebook.com/sharer/sharer.php?u=' + L + '">Facebook</a><a class="btn ghost sm" target="_blank" rel="noopener" href="https://wa.me/?text=' + encodeURIComponent(p.text) + '">WhatsApp</a>')
|
|
+ '</div></div>').join('');
|
|
const sizes = [['728x90', 'Leaderboard'], ['468x60', 'Mobile leaderboard'], ['300x250', 'Medium rectangle'], ['250x250', 'Square'], ['125x125', 'Button'], ['160x600', 'Skyscraper'], ['1200x630', 'Social card'], ['1080x1080', 'Instagram square']];
|
|
document.getElementById('banners').innerHTML = sizes.map(([s, n]) => { const src = 'https://polhunter.com/promo/polhunter-' + s + (Number(s.split('x')[0]) >= 300 ? '.jpg' : '.png'); const code = '<a href="' + link + '" target="_blank" rel="noopener"><img src="' + src + '" width="' + s.split('x')[0] + '" height="' + s.split('x')[1] + '" alt="PolHunter: visit it, find it, get paid in POL"></a>';
|
|
return '<div class="banner"><div class="bhead"><b>' + s + '</b> <span class="site">' + n + '</span></div><div class="bimg"><img src="' + src + '" alt="' + s + '"></div><textarea rows="3" id="b' + s + '">' + esc(code) + '</textarea><div class="sharebtns"><button class="btn pol sm" data-copy="#b' + s + '">Copy embed</button><a class="btn ghost sm" href="' + src + '" download>Save image</a></div></div>'; }).join('');
|
|
document.getElementById('swipes').innerHTML = [
|
|
['Comment or DM', 'Not a program, a scavenger hunt. You find a code on one of our sites and it pays a little POL to your wallet. Try one mission and tell me what you got: ' + link],
|
|
['Objection: is it real?', 'Every drip is a Polygon transaction. Open the ledger on the page and click verify on any line, it opens the block explorer. That is the whole proof.'],
|
|
['Objection: how much?', 'Random, between the posted range, and the daily pool is limited. Nobody is promising amounts. It is a few minutes for a few cents to a few dollars of POL, and the fun is in the find.'],
|
|
].map(([n, t], i) => '<div class="card"><h3>' + esc(n) + '</h3><textarea id="s' + i + '" rows="4">' + esc(t) + '</textarea><div class="sharebtns"><button class="btn pol sm" data-copy="#s' + i + '">Copy</button></div></div>').join('');
|
|
document.body.addEventListener('click', async e => { const b = e.target.closest('[data-copy]'); if (!b) return; const el = document.querySelector(b.dataset.copy); try { await navigator.clipboard.writeText(el.value); } catch (x) { el.select(); document.execCommand('copy'); } const t = b.textContent; b.textContent = 'Copied'; setTimeout(() => { b.textContent = t; }, 1200); });
|
|
})();
|
|
</script>
|
|
</body>
|
|
</html>
|