Proper autoclaim script for stake.com/stake.us not just a reload of the claim page every 10 min, this actually simulates human interaction, and clicks the buttons. First attempt delayed, ordered clicks with retry if elements not ready. FREE BONUS CODES @ https://t.me/codestats2 SOL: FVDejAWbUGsgnziRvFi4eGkJZuH6xuLviuTdi2g4Ut3o
נכון ליום
// ==UserScript==
// @name Auto Reload on Stake.com - CHUBB edition
// @description Proper autoclaim script for stake.com/stake.us not just a reload of the claim page every 10 min, this actually simulates human interaction, and clicks the buttons. First attempt delayed, ordered clicks with retry if elements not ready. FREE BONUS CODES @ https://t.me/codestats2 SOL: FVDejAWbUGsgnziRvFi4eGkJZuH6xuLviuTdi2g4Ut3o
// @author CHUBB
// @namespace https://t.me/codestats2
// @version 08.21.2025 V9.1
// @match https://stake.com/*
// @match https://stake.us/*
// @match https://stake.com/?tab=rewards&modal=vip
// @match https://stake.us/?tab=rewards&modal=vip
// @run-at document-idle
// @license MIT
// ==/UserScript==
// First attempt after short delay
(function firstRun() {
const firstDelay = Math.floor(Math.random() * 5000) + 5000; // 5–10s
console.log(`First attempt in ${(firstDelay / 1000).toFixed(1)} seconds`);
setTimeout(async () => {
await claimReload();
startCycle();
}, firstDelay);
})();
function startCycle() {
const min = 10 * 60 * 1000; // 10 minutes
const max = 12 * 60 * 1000; // 12 minutes
const delay = Math.floor(Math.random() * (max - min + 1)) + min;
console.log(`Next reload attempt in ${(delay / 60000).toFixed(2)} minutes`);
setTimeout(async () => {
if (Math.random() < 0.1) {
console.log("Skipped this round — acting lazy.");
randomHumanFidget();
startCycle();
} else {
await claimReload();
startCycle();
}
}, delay);
}
async function claimReload() {
simulateMouseMove();
// Step 1: vip-reward-claim-reload
const vipClicked = await orderedClick('button[data-testid="vip-reward-claim-reload"]');
if (!vipClicked) return;
// Step 2: claim-reload
const claimClicked = await orderedClick('button[data-testid="claim-reload"]');
if (!claimClicked) return;
// Step 3: return-to-rewards
await orderedClick('button[data-testid="return-to-rewards"]');
simulateMouseMove();
console.log("Completed full reload sequence.");
}
// Retry logic: tries multiple times before giving up
async function orderedClick(selector, retries = 10, interval = 1000) {
for (let i = 0; i < retries; i++) {
const el = document.querySelector(selector);
if (el) {
const delay = Math.floor(Math.random() * 2000) + 1000; // 1–3s wait
await wait(delay);
el.click();
console.log(`Clicked: ${selector} (after ${delay}ms)`);
return true;
}
console.log(`Waiting for: ${selector} (retry ${i + 1}/${retries})`);
await wait(interval);
}
console.log(`Failed to find after ${retries} retries: ${selector}`);
return false;
}
function simulateMouseMove() {
const simElm = document.documentElement;
const simMouseMove = new Event('mousemove', { bubbles: true });
simElm.dispatchEvent(simMouseMove);
}
function randomHumanFidget() {
if (Math.random() < 0.5) {
simulateMouseMove();
console.log("Fidget: mouse wiggle.");
}
if (Math.random() < 0.5) {
const scrollAmount = Math.floor(Math.random() * 300) - 150;
window.scrollBy({ top: scrollAmount, behavior: 'smooth' });
console.log(`Fidget: scrolled ${scrollAmount}px`);
}
}
function wait(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}