martbost
fe9661ec33
Join page: keep the Sign in link clear of the byline on narrow screens
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 16:04:16 -05:00
martbost
129e4d0946
Angle join pages: matching hook video + three angle points replace the worked example
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 16:02:25 -05:00
martbost
00f85fde08
README: sponsor attribution is last touch
2026-09-10 15:51:19 -05:00
martbost
04e42e94ff
Sponsor attribution: last touch (30-day cookie), locked at account creation; 'Joining under' line at the code step; chatbot answer
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 15:49:40 -05:00
martbost
4addf7718e
Your links: URLs are tappable, plus an Open button per angle
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 15:41:05 -05:00
martbost
f5fb195927
Promo tools: 'Your links' block with the invite link + five angle links (who each is for, copy, share)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 15:30:10 -05:00
martbost
b4b9ac8680
Promo tools: banner kit as collapsed accordions per size group
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 14:32:16 -05:00
martbost
cac78133ca
Never charge a campaign past its budget (on-site batches vs network reconcile overlap)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 11:42:46 -05:00
martbost
4487a90d16
Balances: one reservation rule (earned first) + purchased-grade credited pool
...
- balances(): live campaign budgets are set aside up front, earned pool first then
purchased, so dashboard numbers never move per impression; new 'in campaigns' line
- earned pool gains a purchase_grade portion for refunds/comps: shows under Purchased
as 'credited to you' and funds login ads (daily login charge draws on it first)
- viewing credits always spend before credited purchased money
- dashboard/donut/spend banner/earn pane/positions show purchased, credited, earned, in campaigns
- chatbot canned answer + AI prompt: the balance rule
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 11:16:40 -05:00
martbost
af6d2db711
Burner: in-flight sends persisted to the volume and checked directly against contract logs before any resend
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 10:47:22 -05:00
martbost
38366e0beb
Credits: Welcome label shows only the welcome amount; login ads explain they spend purchased credits only
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 10:42:16 -05:00
martbost
82269eccc8
NAS: syndicated ads click through our redirect so network clicks count and carry the source site
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 10:16:22 -05:00
martbost
ecdee89be1
Traffic sources: referring domain on join-link visits and joins (per-member table), click sources per campaign (surface or outside host)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 10:12:13 -05:00
martbost
6e187c4f41
Campaigns: optional daily cap on banner/text paces spend on-site and hands Network Ad Space one day's allowance at a time
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 10:03:57 -05:00
martbost
abf7415c83
Burner: on-chain ref = burn id; recognise already-mined burns from CreditsConsumed and hold in-flight sends, so a lost RPC response can never double-burn
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 09:49:20 -05:00
martbost
94910275c0
Positions policy: cap of five per account, refuse wallets registered under anything but the main member, admin members shows positions; Qualified Start card states the rule
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 09:42:06 -05:00
martbost
f6490c9444
Promo tools: hook video cards (matched links, downloads, captions, share buttons)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 08:55:29 -05:00
martbost
276618dd73
Member ads everywhere they belong: text strip under every pane title, banner at the foot of each main pane, wall + plays slots; Network views as its own campaign column
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 08:35:31 -05:00
martbost
787963d605
Wall: larger InstantAdPay brand line
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 08:25:40 -05:00
martbost
7ae31f4b18
Join page: compact hero with InstantAdPay brand headline; opt-in and ledger example above the fold; chips and POL note below
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 08:23:59 -05:00
martbost
55b010d8c2
Admin burner line: balance is the gas fund, not a cost; show skipped burns
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 08:21:15 -05:00
martbost
bcc895dc8d
Member area: loading spinner instead of flashing the sign-in card
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 08:17:55 -05:00
martbost
7708e602ae
Catalog: 20s cache so ladder pages stop waiting on five live quotes
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 08:13:27 -05:00
martbost
29e18aa48a
Wall page: InstantAdPay headline + POL on Polygon; payouts-in-POL copy on join/home/Wallet/objections/chatbot
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 08:10:35 -05:00
martbost
e0d4bbc2e1
Public /api/config never exposes credential-like site settings; join page spacing
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 08:04:19 -05:00
martbost
b7f2b3ef3f
Join page: How it works and The packages span full width below the fold; sign-up card sticks beside the ledger example
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 08:01:12 -05:00
martbost
7374dc8f1b
Credits: reserve live campaign budgets so purchased credits can't be over-committed; burner dry-runs and skips reverting burns; coaching flags directs not bound to you on-chain
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 07:50:59 -05:00
martbost
9ebb9a86b2
Ledger/earnings rows show when; Earn credits: never your own ads; burner sets Polygon fees + rotates RPCs on node errors
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 07:43:24 -05:00
martbost
5652987675
Verified visits: budget derives from the pack count (form has no budget box)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 07:39:27 -05:00
martbost
b824711ac5
Campaigns: gold available-to-spend banner + where-your-ads-run (incl. Network Ad Space); Wallet: live POL balances; Earn credits: done-for-today mark
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 07:36:24 -05:00
martbost
4156b1f815
Coaching layer + tools: coach your directs (rungs, stalled, one-click nudges), automatic member nudges + weekly sponsor digest, prospects list, per-angle link stats, broadcast templates, Qualified Start calculator, Telegram proof feed, send-failed alerts, admin P&L pane, automatic credit burner (ethers), username lock, home-page comparison, printable checklist, wall link in Promo tools
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 07:30:16 -05:00
martbost
0c30e831eb
plays: scope box styles to direct children
2026-09-10 07:08:07 -05:00
martbost
16a9f76f50
Training: section pills; /plays member page (three plays + Qualified Start) with the member's own link in the scripts
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 07:06:19 -05:00
martbost
f785016cb5
Training: section headers; byline 'Brought to you by the Crypto Team Build Network' under every logo
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 06:25:58 -05:00
martbost
15a881a72b
Positions: force the wallet's account picker (wallet_requestPermissions) when adding a position or when the Buy-from wallet doesn't match; sign/send with the wallet's active account
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 06:11:38 -05:00
martbost
70b96bf862
Training: video posters (posterUrl from the list, else .jpg beside the .mp4) + preload=metadata
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 04:36:22 -05:00
martbost
bd0f351c13
Plays doc: Qualified Start opening move
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-09 17:32:05 -05:00
martbost
046464b83e
Linked positions (Qualified Start): extra wallets on one account, credits pooled, buy-from picker
...
- accounts/db: positions table + JSON store (add/list/owner/remove; main-wallet and cross-account guards)
- auth verify: asPosition links a second wallet without touching the session; position wallets can't mint a session
- /api/my/positions (chain-refreshed member ids, buyer counts, credits) + remove
- credits pooled across main + positions on /api/me, dashboard, campaigns; campaign charged to the best-funded position
- My line: own positions listed on level 1 as 'You · position N'
- Buy pane: Qualified Start card + Add a position flow + Buy-from picker with connected-wallet guard
- Wallet pane: Your positions card; chatbot answer updated
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-09 17:18:47 -05:00
martbost
b86dbfd9e9
Admin: wall fallback ads editor (House ads pane) + /api/admin/wall-ads
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-09 15:45:49 -05:00
martbost
2ac6549171
Wall ownership ladder: positions 2 and 3 become the member's own at 2 / 5 qualifying buyers
...
- accounts.wall_offers (JSON, up to 2 offers: label, https link, banner) set from
Profile > Your wall; upload supported; locks show the buyer threshold.
- /api/wall assembles: position 1 = own line banner; positions 2-3 = own offer
when unlocked and set, else upline banners (only uplines with a live banner),
else house ads. Response carries unlocked + buyerCount; wall labels show
"this wall" / "their line" / "InstantAdPay".
- Chatbot canned answer + facts, follow-up email 7 mention the ladder.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-09 15:31:45 -05:00
martbost
8b25361eef
QA harness: qa/run.sh + walk.mjs (public + member/admin) + earn.mjs (earning flows)
...
Headless Playwright checks that boot a throwaway local copy for anything that
signs in or writes; npm run qa / qa:public / qa:member / qa:earn.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-09 11:32:13 -05:00
martbost
26b98c65c5
Invite links answer HEAD too
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-09 11:05:02 -05:00
martbost
fe217b897a
QA fixes: HEAD on page routes, Shorts signed-out 401, invite-page onboarding handoff, viewer check buttons clear of the overlay close button
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-09 11:03:26 -05:00
martbost
dc3a8e0464
Admin settings: graphical editors for follow-up emails, rates and site settings
...
Follow-ups: one card per email (hours, subject, body), placeholder chips,
add / reorder / remove / send-to-me. Rates: labeled fields with hints, tier
table, milestone sub-fields. Site settings: key/value rows. No more JSON.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-09 10:00:27 -05:00
martbost
9b32d40874
Wall page: platform icons on the social pills
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-09 08:32:52 -05:00
martbost
4846af535a
Earn credits: ad view dwell defaults to 10 seconds (was 5)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-09 07:58:24 -05:00
martbost
c7018f6258
My line: POL earned from each person; wallet picker features non-Trust wallets first
...
- /api/my/line sums TierPaid events per buyer for the signed-in member; the
downline rows show "+X POL" (what that person has paid you so far).
- AppKit featuredWalletIds: MetaMask, Phantom, SafePal, Coinbase first; Trust
Wallet stays available under All wallets.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-09 07:47:41 -05:00
martbost
9608d07544
Buy flow: balance pre-flight; Trust Wallet users get a drain-warning heads-up
...
Stops early when the wallet lacks the POL. Only Trust Wallet users see the
proportion warning (smaller package / add POL / other wallet); everyone else
goes straight to the wallet confirmation. Buy-pane tip + chatbot reworded.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-09 07:23:19 -05:00
martbost
68d68b1ebf
Wallet: recover from a dead WalletConnect session instead of failing the buy
...
Probe the session after connect and retry once after a "disconnected" send
error by wiping the stale session and re-opening the picker (Trust kills the
session after its own security stop).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-09 06:41:09 -05:00
martbost
15a29af104
Follow-up sequence: 7 emails over 14 days in Marty's voice, paid-aware branches
...
Drafted through the Branded Voice engine (gain, logic, PAS, logic, honest
fear of loss, AIDA, gain + newsletter hand-off), checked against the contract
facts. {{paid:a|b}} resolves per reader from on-chain credits. Defaults now
live in drip-defaults.json; admin overrides still in the volume.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-09 06:37:39 -05:00