Get exactly two
Use your position's link until two direct positions are placed beneath you and your position is qualified.
diff --git a/chain.js b/chain.js index 4dc72b6..795a63f 100644 --- a/chain.js +++ b/chain.js @@ -247,7 +247,9 @@ async function processRange(fromBlock, toBlock) { }; if (!isRef) { if (txUpgrades[tx]) p.upgrade = txUpgrades[tx]; - p.passed = passedOver(p.fromId, p.toId); + // a level-N payment structurally skips the first N-1 uplines (they're + // never checked) — only list uplines that failed the eligibility test + p.passed = passedOver(p.fromId, p.toId).slice(Math.max(0, p.level - 1)); } // upgrade a snapshot-sourced twin in place, else append (twin = already known from snapshot, so not a NEW event) const twinIdx = state.payouts.findIndex(x => !x.tx && samePayout(x, p)); diff --git a/public/chat.js b/public/chat.js index 037de6e..a0f55e9 100644 --- a/public/chat.js +++ b/public/chat.js @@ -28,6 +28,8 @@ a:()=>{const s=sponsorInfo&&sponsorInfo.sponsor;return s?`The current team sponsor is ID ${esc(s.id)}${s.name?' ('+esc(s.name)+')':''} — always verify on the Getting Started page right before you join, because placements rotate as positions qualify. Don't use an old screenshot or saved link.`:`The current sponsor is always shown live on the Getting Started page — check there right before joining, because placements rotate as positions qualify.`}}, {k:['qualified','qualification','2 directs','two directs','directs','retire'], a:()=>`A position is qualified once it has 2 directs. The team recommendation: retire your link at that point and help your 2 get their 2 using their own links — that's the only thing that qualifies them. And if someone happens to join through your link after 2/2, it's a bonus, not a problem: the entry reward still pays your position and they spill downward, adding depth to your leg. Just remember spillover never qualifies the people below — their own directs do.`}, + {k:['safe','scam','rug','rug pull','security','audit','trust','legit','contract code','smart contract','can they change','steal'], + a:()=>`Fair question — don't take anyone's word for it. We reviewed the complete verified source of the RM Circle smart contract and published a plain-language breakdown at rmcircle.saasy.top/contract: the code can never change (no upgrade mechanism exists), member money never sits in the contract (every payment distributes in the same transaction), prices and payout rules are locked forever, and the operator's powers are limited to a short, honest list. Every claim links to the blockchain so you can verify it yourself. Code security isn't an income guarantee though — results depend on real participation, and POL's value moves.`}, {k:['spillover','spill over','spill','under me but not qualified','people under me','not my direct','passed over','missed payment','skipped','why am i not qualified'], a:()=>`Spillover happens when someone's sponsor already has both matrix slots full — the smart contract then places the new member in the next open slot further down, which can be under YOU. Spillover fills your matrix and sets up future upgrade payments to your position, but it does not count toward your qualification: only people who join using your ID are your directs. That's why you can see 2 under you and still show 1/2. And important: upgrade payments only stop at positions that are qualified (2 directs) AND at the required level — otherwise the payment passes you by to the next eligible upline. Check your position on your Member Dashboard — spillover placements are tagged there.`}, {k:['level','levels','upgrade','scintilla','ascensus','fabrica','culmen','apex','fastigium','vertex','corona','8 levels'], diff --git a/public/contract.html b/public/contract.html new file mode 100644 index 0000000..616467e --- /dev/null +++ b/public/contract.html @@ -0,0 +1,31 @@ +
Every payment in the RM Circle runs through one smart contract on the Polygon blockchain. We reviewed its complete, verified source line by line. Here's what it says — in plain language, with links so you can check every claim yourself. Nobody has to take our word for anything.
Some crypto projects use "upgradeable" contracts — the operator can swap in new code after you've joined, changing the rules underneath you. This contract has none of that machinery. No proxy, no delegatecall, no self-destruct — the three mechanisms that allow post-launch changes are simply absent from the code. What was deployed on May 27, 2026 is what runs today and what will run in ten years. And because the source is verified as an exact bytecode match, the code we reviewed is provably the code that's running — not a copy, not a claim.
There is no pool, no vault, no balance an operator could run away with. When someone joins or upgrades, the contract splits and delivers every coin in the same transaction — sponsor reward, upline payment, fees — straight to member wallets. If any single transfer fails, the whole transaction reverses and nobody pays anything. You can watch this happen live on the payment proof feed: money in, money out, same block.
Entry and upgrade costs for all 8 levels were fixed the moment the contract deployed — there is no function to change them. The payout split is compiled into the code as constants: on entries, the sponsor receives the slot cost minus a 5% project fee (founders 1% + 1%, development 3%); on upgrades, 100% goes to the eligible upline — the project takes nothing. There's also no pause switch: nobody can freeze joins, upgrades, or payouts. The eligibility rule is public too: an upgrade payment stops at the first upline who is qualified (2 directs) and already at that level — otherwise it passes them and continues up.
A fair review reports the levers, not just the locks. The contract owner can do exactly four things:
What the owner cannot do: take member funds, change payout rules, change prices, reroute earnings, block withdrawals (there's nothing to withdraw — payments are instant), or replace the code. Even a fully hostile owner is limited to that list above.
When an upgrade payment finds no eligible upline within 16 levels (or reaches the root), it goes to the project's fee wallet rather than vanishing. That's the strongest built-in reason to get your 2 directs and keep your level current — eligible positions catch payments; ineligible positions watch them pass by. The Member Dashboard shows exactly this happening in real time.
Review method: complete verified source (Sourcify exact-match, creation + runtime bytecode) read against the deployed contract on 2026-08-13; payout math cross-checked against live on-chain transactions. Reviewed independently by this team's tooling — not by the contract's developers.
+Each position gets two directs to qualify, then retires its link and helps the next two positions repeat the process. Late signups on a qualified link are a welcome bonus — they pay that member and spill downward as depth.
Use your position's link until two direct positions are placed beneath you and your position is qualified.
Retire your link and help each of your two directs use their own links until they each have two — that's what qualifies them. If someone still joins through your link anyway, it's a bonus: it pays you and spills down as depth.
Use earned POL to advance when practical. Active builders may also choose to self-fund, but only within their own risk tolerance.
Share the current position's referral link.
Place exactly two direct positions.
Late signups still spill down — bonus depth, not a problem.
Shift the team effort to their links.
Keep the qualification wave moving down.
The first major team milestone is 30 correctly placed positions across the first four generations: 2 + 4 + 8 + 16.
Every payment in this program happens on a public smart contract on Polygon — nobody can fake, hide, or edit it. Below are the latest member payouts, read live from the contract. Tap any row to verify the transaction yourself on Polygonscan.
Every payment in this program happens on a public smart contract on Polygon — nobody can fake, hide, or edit it. Below are the latest member payouts, read live from the contract. Tap any row to verify the transaction yourself on Polygonscan.
The onboarding page automatically shows the sponsor position the team is currently helping. Always use the sponsor shown there instead of an old screenshot or saved link.
Open Getting Started Instructions →