diff --git a/public/assets/common.js b/public/assets/common.js index 6c5b2b9..e7cc605 100644 --- a/public/assets/common.js +++ b/public/assets/common.js @@ -45,6 +45,17 @@ window.IAP = (function () { const a = nav.querySelector('[data-p="' + active + '"]'); if (a) a.className = 'active'; refreshNavWallet(); + renderFooter(); + } + function renderFooter() { + if (document.getElementById('iapFooter')) return; + const f = document.createElement('footer'); f.id = 'iapFooter'; + f.style.cssText = 'border-top:1px solid var(--line);margin-top:48px;padding:26px 22px;text-align:center;color:var(--muted);font-size:13px'; + f.innerHTML = '
© ' + new Date().getFullYear() + ' InstantAdPay
' + + '
' + + 'How it worksLive ledgerThe contract' + + 'TermsPrivacyDisclaimer
'; + document.body.appendChild(f); } async function refreshNavWallet() { try { diff --git a/public/assets/legal.js b/public/assets/legal.js new file mode 100644 index 0000000..9494607 --- /dev/null +++ b/public/assets/legal.js @@ -0,0 +1,2 @@ +// legal/static content pages: render the shared nav + footer +(async function () { try { await IAP.renderNav(''); } catch (e) {} })(); diff --git a/public/contract.html b/public/contract.html index 612ccd5..6720abb 100644 --- a/public/contract.html +++ b/public/contract.html @@ -141,7 +141,7 @@
Advertising services with a performance referral program. Not an investment product; no income guarantees. Crypto transactions are irreversible. Never spend what you cannot afford.
- + diff --git a/public/disclaimer.html b/public/disclaimer.html new file mode 100644 index 0000000..68343a1 --- /dev/null +++ b/public/disclaimer.html @@ -0,0 +1,32 @@ + + + + +Disclaimer | InstantAdPay + + + + + + +
+

Risk & Earnings Disclaimer

Last updated: September 2026

+
+

No income guarantee

+

InstantAdPay is an advertising service with a referral program. It is not an investment, a security, or a passive-income scheme. We do not promise, project, or guarantee any earnings. Any figures shown in examples or sample creatives are illustrations only, not typical or expected results. Most participants should expect to earn little or nothing unless real advertising is purchased in their line.

+

Not financial or legal advice

+

Nothing on the Platform is investment, financial, tax, or legal advice. Do your own research and consult a professional before spending money.

+

Crypto risk

+

Purchases settle on a public blockchain using a volatile network token. On-chain transactions are final and irreversible: there are no refunds, chargebacks, or reversals. You are responsible for your wallet, your keys, network fees, and the tax treatment of your activity.

+

Rehearsal / testnet

+

During any rehearsal or testnet phase, the Platform runs on test tokens with no monetary value. Balances, purchases, and payouts during that phase are for testing only and do not carry over to a live launch.

+

Advertising

+

Ads are member-created and auto-approved for speed. InstantAdPay does not endorse and is not responsible for advertised products, sites, or claims. Use your judgment, and report anything broken or inappropriate.

+

Your responsibility

+

You decide whether, and how much, to spend. Never spend more than you can afford to lose.

+
+
+ + + + diff --git a/public/index.html b/public/index.html index 78b35cf..97bcc92 100644 --- a/public/index.html +++ b/public/index.html @@ -438,7 +438,7 @@ - + diff --git a/public/ledger.html b/public/ledger.html index 0b1ba42..c0130de 100644 --- a/public/ledger.html +++ b/public/ledger.html @@ -37,7 +37,7 @@
InstantAdPay · how it works · contract source ↗
- + diff --git a/public/my.html b/public/my.html index 477f979..8e7c115 100644 --- a/public/my.html +++ b/public/my.html @@ -142,6 +142,12 @@ Live ledger The contract +
… Log out @@ -679,7 +685,7 @@
- + diff --git a/public/privacy.html b/public/privacy.html new file mode 100644 index 0000000..efe7135 --- /dev/null +++ b/public/privacy.html @@ -0,0 +1,34 @@ + + + + +Privacy Policy | InstantAdPay + + + + + + +
+

Privacy Policy

Last updated: September 2026

+
+

What we collect

+

A minimal set: the email you sign up with, a username and any profile details you choose to add (avatar, bio, social links), and, only if you link one, your public wallet address. Campaign content you create and reports you submit are stored to run the service. We also read on-chain activity that is already public on the blockchain.

+

What we do not collect

+

We never take custody of your funds or private keys, and we do not sell your personal data.

+

How we use it

+

To run your account, deliver and measure ads, attribute referrals, send service and notification emails (payouts, messages, onboarding), and keep the Platform secure. You can set your email and chat notification preferences in your dashboard.

+

Cookies

+

We use a session cookie to keep you signed in and a referral cookie to credit the sponsor whose link you arrived through. That is it. No third-party ad-tracking cookies.

+

Sharing

+

Your username, public profile, and public wall are visible to others by design, and on-chain transactions are public by nature. We share data with infrastructure providers (hosting, email delivery) only as needed to operate the service, and when required by law.

+

Your choices

+

You can edit your profile, adjust notification and chat settings, and request account deletion by contacting us. Note that on-chain records cannot be deleted by anyone.

+

Security

+

We use reasonable safeguards, but no system is perfectly secure. Protect your email and your wallet.

+
+
+ + + + diff --git a/public/terms.html b/public/terms.html new file mode 100644 index 0000000..5dbbc09 --- /dev/null +++ b/public/terms.html @@ -0,0 +1,42 @@ + + + + +Terms of Service | InstantAdPay + + + + + + +
+

Terms of Service

Last updated: September 2026

+
+

Please read these Terms carefully. By creating an account or using InstantAdPay ("the Platform"), you agree to them. If you do not agree, do not use the Platform.

+

1. What InstantAdPay is

+

InstantAdPay is an advertising platform with a referral program. Members buy advertising packages that mint on-chain ad credits and are delivered as banner, text, video, solo, featured, and verified-visit placements. Payments between members are split by an immutable smart contract and settle directly to members' own wallets. InstantAdPay is not a bank, an investment product, a security, or a money-transmission service.

+

2. Eligibility

+

You must be at least 18 and legally able to enter contracts where you live. You are responsible for complying with the laws of your jurisdiction, including any that restrict crypto activity. You may not use the Platform where doing so is unlawful.

+

3. Accounts

+

You join free with an email. Keep your access secure; you are responsible for activity under your account. Your wallet is your own. We never hold, custody, or control your funds or private keys.

+

4. Purchases and the smart contract

+

Package purchases execute on the blockchain. On-chain transactions are final and irreversible. Prices are shown in USD and settled in the network token at the live rate at the moment of purchase. The contract splits each purchase and pays members' wallets in the same transaction; InstantAdPay never touches the money. You are responsible for network fees.

+

5. Referrals and qualification

+

Referral earnings depend on real purchases in your line and on the qualification rules published on the site and enforced by the contract. Nobody earns unless real advertising is bought. We do not promise or guarantee any income.

+

6. Advertising rules

+

Ads you submit must be lawful and must not be deceptive, adult, hateful, malicious, or infringing. Ads are auto-approved for speed; we may remove or pause any ad or campaign at any time, and members can report ads for review. You are solely responsible for the ads you run and the sites they point to.

+

7. Acceptable use

+

No fraud, bots, fake traffic, self-dealing to farm rewards, attempts to manipulate the contract, or abuse of other members. We may suspend or terminate accounts that break these rules.

+

8. No warranty

+

The Platform is provided "as is," without warranties of any kind. Blockchains, wallets, oracles, and third-party sites can fail or behave unexpectedly. We do not guarantee uptime, delivery volumes, or results.

+

9. Limitation of liability

+

To the fullest extent permitted by law, InstantAdPay and its operators are not liable for indirect, incidental, or consequential damages, or for losses arising from crypto volatility, irreversible transactions, third-party sites, or your own decisions.

+

10. Changes and termination

+

We may update these Terms and the Platform, and continued use means you accept the changes. We may discontinue features. The immutable contract's rules cannot be changed by anyone, including us.

+

See also the Disclaimer and Privacy Policy.

+
+
+ + + + diff --git a/public/tx.html b/public/tx.html index c7b7004..4e20cff 100644 --- a/public/tx.html +++ b/public/tx.html @@ -34,7 +34,7 @@

← Back to the live ledger · Read the contract review

- + diff --git a/public/wall.html b/public/wall.html index 8407af6..5371f45 100644 --- a/public/wall.html +++ b/public/wall.html @@ -39,7 +39,7 @@ - + diff --git a/server.js b/server.js index 16a0bb9..8134f3a 100644 --- a/server.js +++ b/server.js @@ -1240,6 +1240,9 @@ const server = http.createServer(async (req, res) => { if (p === '/') return sendFile(res, path.join(PUBLIC_DIR, 'index.html')); if (p === '/ledger') return sendFile(res, path.join(PUBLIC_DIR, 'ledger.html')); if (p === '/contract') return sendFile(res, path.join(PUBLIC_DIR, 'contract.html')); + if (p === '/terms') return sendFile(res, path.join(PUBLIC_DIR, 'terms.html')); + if (p === '/privacy') return sendFile(res, path.join(PUBLIC_DIR, 'privacy.html')); + if (p === '/disclaimer') return sendFile(res, path.join(PUBLIC_DIR, 'disclaimer.html')); if (p === '/my') return sendFile(res, path.join(PUBLIC_DIR, 'my.html')); if (p === '/shorts') return sendFile(res, path.join(PUBLIC_DIR, 'shorts.html')); if (/^\/view\/[a-f0-9]{32}$/.test(p)) return sendFile(res, path.join(PUBLIC_DIR, 'view.html'));