ÖйúPÕ¾

Play to earn money
4.5
·
945k+ Ratings

Play free games. Earn rewards, fast.

Join over 10 million users who cash out gift cards for their game time. Explore new games and start earning today.

ÖйúPÕ¾ available on
4.5
·
945k+ Ratings
Start earning today
Play now
Start earning today
Play now

Cash out rewards you’ll love

Earn gift cards on the go, just for playing on your phone. Your favorites are all in one app.

$205,074,442

Reward value redeemed by ÖйúPÕ¾ users to date

Total prize figures displayed are calculated using historical data from 2025 and are intended for promotional purposes only.

WIN
Win big with weekly sweepstakes
They played, they earned, they won. Meet the ÖйúPÕ¾ers who took home our sweepstakes prizes, and see what could be waiting for you in the ÖйúPÕ¾ app.
View sweepstakes

Don’t just take our word for it. Read the rave reviews.

It's fun! The games they have to choose from are games I would most likely play even without the rewards. But, being rewarded for spending my spare time doing the things I would be doing anyways is pretty awesome.

Nicolas

I enjoy ÖйúPÕ¾ because the site/app is legit. I've cashed in my units on several occasions and have received exactly what I shopped for. There hasn't been any issues with the receipt of my purchase. It has been on time and accurate every time.

Priscilla

Best Cash for Gaming. Period. I tried some of the other "money-back" gaming sites. They had no recognizable games, and every game they did have had as much time spent watching ads as it did playing.

Mischa

Legit and super fun! Win really great gift card options like Visa, Amazon, Walmart, etc. by earning units just playing games. Has a lot of pretty cool options for games. Also, the app is always improving and adding new games.

Lisa

Great way to make money for playing games on your phone, which everyone does already. Fast, easy instructions, quick return if done right, and if you have issues they are quick with responses and or fixes. A must download!!!

Michael

I love that it introduces me to new games I wouldn't have discovered otherwise, and the reward system is clear and fair. The app runs smoothly, and the process of redeeming rewards is quick and trustworthy.

koorosh

I've been using this app for a few years and honestly, it's my go-to app to make some extra money. It's very easy to navigate. The games are fun and there is a wide variety. I periodically try other apps but always come back to ÖйúPÕ¾!

Heidi

Great game, easy ways to earn points and it's fun to play. I use my points for Google play money and it's totally free, fun and I occasionally find some new games I keep. Great app

Jonathan

ÖйúPÕ¾ is a reliable app that actually pays! Cashing out is super easy, and the process is fast. The tournaments are a fun way to earn extra units and keep things exciting.

Geoffrey

I think I can confidently say that this is the best app for this genre of earning. there are many games to choose from, and they're actually fun.

Debby

I love this app. I have used it daily since downloading. The more time you play the quicker you get paid. Getting my first Amazon card was easy too. There are plenty of games to try and I have been having fun trying them.

Angela

I've tried a few different "earn while you play" apps now, and I've stuck with ÖйúPÕ¾ consistently for years.

Chelsea

I have been using this app for about 5 years. I LOVE IT!!! Now I have tried other apps but they don't compare.

Anna

I love getting to earn prizes for games I would be playing anyway. I have gotten Amazon gift cards, prepaid Visa, and PayPal. How quickly you earn depends on how much you play.

Beth

I’ve been using ÖйúPÕ¾ for years and it’s always been a great experience. I've cashed out multiple gift cards without any issues, and the process is smooth and reliable.

Cassy
Join the fun
Start earning today
Join the fun
Start earning today

Play your go-to games and find your next favorite

Stop scrolling, start earning. Play for free on your break, couch, or commute. ÖйúPÕ¾ meets you where you are.

Stop scrolling, start earning. Play for free on your break, couch, or commute. ÖйúPÕ¾ meets you where you are.

Stop playing without rewards. From Amazon and Walmart to PayPal and Visa, choose from top-brand gift cards, exclusive bundles, and sweepstakes prizes you’ll love.

Turn your game time into gift cards

Stop playing without rewards. From Amazon and Walmart to PayPal and Visa, choose from top-brand gift cards, exclusive bundles, and sweepstakes prizes you’ll love. Gift Cards vary by region.

FAQs

Learn more about earning rewards through ÖйúPÕ¾.
Is ÖйúPÕ¾ really free?

Yes, ÖйúPÕ¾ is completely free to download and use. Simply earn rewards by playing free games on your phone without any upfront costs or hidden fees.

How do I earn points?

Earn points by playing free games through the ÖйúPÕ¾ app. The more you play, the more you earn. Stack your points with each minute of gameplay, then redeem them for your favorite rewards in the Shop.

What rewards can I redeem?

Choose from a variety of popular gift cards to top brands like Amazon, Google Play, Walmart, and Visa. You can also participate in larger sweepstakes for your chance to win major cash prizes, exclusive bundles, and more. Gift Cards vary by region.

How fast can I cash out?

Once you reach the minimum amount of points required for a gift card in the Shop, you can instantly redeem them for your chosen reward – and enjoy it in just 48 hours.

Is my data safe?

Yes, your data is safe in ÖйúPÕ¾. We implement industry-standard security measures, including encrypted data transmission, protected server infrastructure, and strict access controls, designed to protect your personal information. We do not sell your personal information to third parties. For more information see our Privacy Policy.

Still not sure where to start?
Contact our or read

How to make the most of ÖйúPÕ¾

Explore expert tips, insider tricks, and all the latest ways to earn on the ÖйúPÕ¾ blog.

) is missing or failed to load."); return; } var result = window.AF_SMART_SCRIPT.generateOneLinkURL({ oneLinkURL: oneLinkURL, afParameters: { mediaSource: mediaSource, campaign: campaign, adSet: adSet, ad: ad, channel: channel, afCustom: [ is_retargeting, af_dp, af_prt, af_pmod_priority, af_pmod_priority, custom_ss_ui ], deepLinkValue: deepLinkValue } }); if (result && result.clickURL) { renderQrCodesInBulk(result.clickURL); updateCtaLinksInBulk(result.clickURL); if (typeof window.AF_SMART_SCRIPT.fireImpressionsLink === 'function') { window.AF_SMART_SCRIPT.fireImpressionsLink(); } } else { console.error("AppsFlyer Error: OneLink URL generation failed."); } } /* ========================================= SECTION 2: TICKER LOGIC (Mobile Fixed + Truncated) ========================================= */ function initDynamicCounter() { const container = document.getElementById("dynamicCounter"); if (!container) return; const config = { startDateUTC: "2025-09-24 00:00:00", startValue: 205074441, incrementPerSecond: 1.84, }; function parseUTC(dateString) { const isoString = dateString.trim().replace(" ", "T") + "Z"; return Date.parse(isoString); } const startTimestamp = parseUTC(config.startDateUTC); // Check if timestamp is valid before proceeding if (isNaN(startTimestamp)) { console.error("Invalid start date configuration. Counter cannot initialize."); return; } function getCurrentRawValue() { const now = Date.now(); const secondsPassed = (now - startTimestamp) / 1000; // Return the full value including decimals (the TRUE value) return config.startValue + (secondsPassed * config.incrementPerSecond); } function formatCurrency(number) { // Use Math.floor ONLY for display purposes (to truncate/round down) const truncatedNumber = Math.floor(number); return ( "$" + truncatedNumber.toLocaleString("en-US", { minimumFractionDigits: 0, maximumFractionDigits: 0, }) ); } // --- INITIALIZATION --- let currentRawValue = getCurrentRawValue(); // Holds the full decimal value let currentValue = Math.floor(currentRawValue); // Holds the currently displayed whole dollar value let currentString = formatCurrency(currentRawValue); container.innerHTML = ''; // Clear static text // Build initial slots currentString.split('').forEach(char => { const slot = document.createElement('div'); slot.className = 'char-slot'; const charEl = document.createElement('span'); charEl.className = 'char-value'; charEl.textContent = char; slot.appendChild(charEl); container.appendChild(slot); }); // --- END INITIALIZATION --- function updateCounter() { const newRawValue = getCurrentRawValue(); // Get the new whole dollar value for comparison const newValue = Math.floor(newRawValue); // 1. Check if the whole dollar value has changed (newValue > currentValue) if (newValue <= currentValue) { // If the whole number hasn't changed, just update the raw value and exit. currentRawValue = newRawValue; return; } // 2. If the value has changed, generate the new display string const newString = formatCurrency(newRawValue); const oldString = currentString; // Update the base values for the next cycle currentRawValue = newRawValue; currentValue = newValue; currentString = newString; // Handle case where the number of digits changes (e.g., crossing 100 million) if (newString.length !== oldString.length) { // Rebuild all slots if length changes container.innerHTML = ''; newString.split('').forEach(char => { const slot = document.createElement('div'); slot.className = 'char-slot'; const charEl = document.createElement('span'); charEl.className = 'char-value'; charEl.textContent = char; slot.appendChild(charEl); container.appendChild(slot); }); return; } // 3. Animate Changes const slots = container.children; for (let i = 0; i < newString.length; i++) { if (newString[i] !== oldString[i]) { const currentSlot = slots[i]; const oldElement = currentSlot.lastElementChild; const nextElement = document.createElement('span'); nextElement.className = 'char-value slide-in'; nextElement.textContent = newString[i]; if (oldElement) { oldElement.classList.add('slide-out'); oldElement.classList.remove('slide-in'); } currentSlot.appendChild(nextElement); // Clean up old element after animation setTimeout(() => { if (oldElement && oldElement.parentNode === currentSlot) { currentSlot.removeChild(oldElement); } }, 500); } } } // Set the counter to update every second (1000 milliseconds) setInterval(updateCounter, 1000); } /* ========================================= SECTION 3: SLIDER LOGIC (Swiper) ========================================= */ function initTestimonialsSlider() { const testimonialsSlider = new Swiper(".testimonials_slider_collection", { slidesPerView: "auto", slideClass: "testimonials_slider_slide", loop: true, pagination: { el: ".testimonials_slider_pagination", bulletActiveClass: "is-active", bulletClass: "testimonials_slider_bullet", clickable: true, }, navigation: { nextEl: "[testimonials-slider-arrow='next']", prevEl: "[testimonials-slider-arrow='prev']", }, }); } function initBlogSlider() { const blogSlider = new Swiper(".blog_collection", { slidesPerView: "auto", slideClass: "blog_slide", loop: true, pagination: { el: ".blog_pagination", bulletActiveClass: "active", bulletClass: "blog_bullet", clickable: true, }, navigation: { nextEl: "[blog-slider-arrow='next']", prevEl: "[blog-slider-arrow='prev']", }, }); } function initVideoSlider() { const videoSlider = new Swiper(".video_slider_collection", { slidesPerView: "auto", slideClass: "video_slider_slide", loop: true, pagination: { el: ".video_slider_pagination", bulletActiveClass: "is-active", bulletClass: "video_slider_bullet", clickable: true, }, navigation: { nextEl: "[video-slider-arrow='next']", prevEl: "[video-slider-arrow='prev']", }, }); } /* ========================================= SECTION 4: YOUTUBE ENDSCREEN HIDER (REMOVED) ========================================= */ // The YouTube API functions and logic have been removed. /* ========================================= SECTION 5: INITIALIZATION ========================================= */ document.addEventListener("DOMContentLoaded", function () { initDynamicCounter(); // Ticker applyOneLinkUrl(); // AppsFlyer initTestimonialsSlider(); // Slider 1 initBlogSlider(); // Slider 2 initVideoSlider(); // Slider 3 // loadYoutubeAPI(); // Removed // initLightboxPlayerControl(); // Removed });