diff --git a/AGENTS.md b/AGENTS.md index 4f5a972..5ddc676 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -387,10 +387,11 @@ Sources are community wikis. Treat them as a guest would: with `--only`: forcing twenty sources to re-ask a question they answered an hour ago is the behaviour this bullet exists to prevent, whatever flag authorised it. The run names every source it asked early, and a run that was due anyway is never reported as forced. -- **Space requests to one host**, honouring its `Crawl-delay` and defaulting to 2s. Nine of the - twenty sources are game8.co pages, so the per-source floor alone still permits one cycle to arrive - as nine back-to-back requests to a single site — which is the shape an edge network throttles, and - what a burst looks like from the far end regardless of our intent. +- **Space requests to one host**, honouring its `Crawl-delay` and defaulting to 2s. Nine event + sources and nine redeem-code sources (2026-10-18) are game8.co pages, so the per-source floor alone + still permits one cycle to arrive as eighteen back-to-back requests to a single site — which is + the shape an edge network throttles, and what a burst looks like from the far end regardless of + our intent. - Send `If-None-Match` / `If-Modified-Since`; treat `304` as "skip, unchanged". - Cache raw snapshots so re-parsing never re-fetches. **Iterate against fixtures, not the network.** - Record `sourceUrl` on every event and surface attribution in the UI. diff --git a/TODO.md b/TODO.md index d5804be..cd6750d 100644 --- a/TODO.md +++ b/TODO.md @@ -266,3 +266,14 @@ note only says where to start. readers could reach the ~5 MB quota. Failures are reported, not silent. - After a rollback, anything done in the new build lives only in v2 and isn't shown by the old app. It's stranded, not lost. +- [ ] Get readers to try the layout choices, not just be told about them (owner, 2026-10-18). + - Relaxed vs Structured, and the Timeline's new vs classic look. Each is one switch in + Settings → Appearance today, which most readers will never open. + - Show the difference live, on the reader's own events: a "try it" that switches the page in place, + with an easy way back, rather than a description or a static picture. + - Aim this especially at returning readers, who arrive on the default (Structured, new Timeline) + without having chosen it. + - Offer it even to readers who have already done or skipped the returning-user tour (the tour + records `redesignTourSeen`; this needs its own "seen" so it isn't swallowed by that). + - Open questions: where it appears (a one-time card on the Checklist and Timeline? a tour step?), and + whether trying a look saves it or only previews it until confirmed. diff --git a/docs/INGESTION.md b/docs/INGESTION.md index cae93a6..aef3fa8 100644 --- a/docs/INGESTION.md +++ b/docs/INGESTION.md @@ -659,3 +659,38 @@ Event adapter schemas are unchanged. scripts/build-codes.ts builds data/codes.v1 snapshots or fixtures and preserves observation timestamps in snapshots/codes-first-seen.json. Code newness is per game; redemption is per local game/server account and never clears newness by itself. No code row is synthesized into the event feed. + +## Redeem codes for eight more games (2026-10-18) + +Codes now come from Game8 for Star Rail (archives/410296), ZZZ (435683), Wuthering Waves (453149), +Endfield (571509), NTE (593718), P5X (531770), Chaos Zero Nightmare (557967) and Umamusume (536130), +beside Genshin. +- **Capture.** game8.co's robots.txt has no rule for our User-Agent or these paths. Each page was + fetched exactly once with the refresh User-Agent, 2s apart, all HTTP 200, and pinned as + `fixtures//game8-codes-2026-10-18.*`. +- **Parser.** The pages share Game8's copy-input markup but not their headings or columns. + `parseGame8CodeTable` reads the section under each page's own "active codes" heading + (`src/ingest/codes/registry.ts`), skips any table there that says its codes have expired + (Wuthering Waves keeps one at the top), and reads the reward from the other cells, or from the + code's own cell when they share one (Wuthering Waves, P5X). +- **Expiry stays null.** The pages print "Expires TBA" or a date range without a year, and a guessed + year would be a fabricated date. +- **Umamusume.** The page currently states "No Publicly Released Codes Yet", which is what lets its + empty read be stored (`statesNoEvents`). A changed page still fails the gate. +- **Spot-checked against the live pages:** Star Rail's six codes, WUTHERINGGIFT, Endfield's + ENDFIELDSTEAM / ENDFIELDGIFT / ENDFIELD4PC, CZN's NIGHTMARECARNIVAL and P5X's WEBSTORE1YEAR. + +**Infinity Nikki is not added.** Game8 stopped updating its Nikki guides and the codes page is still +titled "All Infinity Nikki Codes (July 2025)", so its twelve "active" codes cannot be presented as +current. The other games (Arknights, Blue Archive, FGO, hololive Dreams, GFL2, Stella Sora, Nikke, +Honkai Impact 3rd, PGR, Reverse: 1999) have no Game8 codes page. Searches found only general blogs, +which are not assessed yet. + +**Where to redeem** (`src/shared/redeem.ts`). Each game with a codes source shows its in-game route, +taken from its Game8 page's "How to redeem" section. An official web page gets a button only when the +page links one on the publisher's domain. Today that is Genshin, Star Rail and ZZZ on hoyoverse.com. +Chaos Zero Nightmare names an official coupon page without linking it, and no URL could be confirmed, +so it shows the in-game route only. + +**Refreshing.** These are game8 pages, so the CI caveat in AGENTS.md § Scraping conduct applies: if the +runner is refused, they refresh by hand like the event pages. diff --git a/docs/SOURCES.md b/docs/SOURCES.md index 808c5ed..3ea4957 100644 --- a/docs/SOURCES.md +++ b/docs/SOURCES.md @@ -995,3 +995,38 @@ Event adapter schemas are unchanged. scripts/build-codes.ts builds data/codes.v1 snapshots or fixtures and preserves observation timestamps in snapshots/codes-first-seen.json. Code newness is per game; redemption is per local game/server account and never clears newness by itself. No code row is synthesized into the event feed. + +## Redeem codes for eight more games (2026-10-18) + +Codes now come from Game8 for Star Rail (archives/410296), ZZZ (435683), Wuthering Waves (453149), +Endfield (571509), NTE (593718), P5X (531770), Chaos Zero Nightmare (557967) and Umamusume (536130), +beside Genshin. +- **Capture.** game8.co's robots.txt has no rule for our User-Agent or these paths. Each page was + fetched exactly once with the refresh User-Agent, 2s apart, all HTTP 200, and pinned as + `fixtures//game8-codes-2026-10-18.*`. +- **Parser.** The pages share Game8's copy-input markup but not their headings or columns. + `parseGame8CodeTable` reads the section under each page's own "active codes" heading + (`src/ingest/codes/registry.ts`), skips any table there that says its codes have expired + (Wuthering Waves keeps one at the top), and reads the reward from the other cells, or from the + code's own cell when they share one (Wuthering Waves, P5X). +- **Expiry stays null.** The pages print "Expires TBA" or a date range without a year, and a guessed + year would be a fabricated date. +- **Umamusume.** The page currently states "No Publicly Released Codes Yet", which is what lets its + empty read be stored (`statesNoEvents`). A changed page still fails the gate. +- **Spot-checked against the live pages:** Star Rail's six codes, WUTHERINGGIFT, Endfield's + ENDFIELDSTEAM / ENDFIELDGIFT / ENDFIELD4PC, CZN's NIGHTMARECARNIVAL and P5X's WEBSTORE1YEAR. + +**Infinity Nikki is not added.** Game8 stopped updating its Nikki guides and the codes page is still +titled "All Infinity Nikki Codes (July 2025)", so its twelve "active" codes cannot be presented as +current. The other games (Arknights, Blue Archive, FGO, hololive Dreams, GFL2, Stella Sora, Nikke, +Honkai Impact 3rd, PGR, Reverse: 1999) have no Game8 codes page. Searches found only general blogs, +which are not assessed yet. + +**Where to redeem** (`src/shared/redeem.ts`). Each game with a codes source shows its in-game route, +taken from its Game8 page's "How to redeem" section. An official web page gets a button only when the +page links one on the publisher's domain. Today that is Genshin, Star Rail and ZZZ on hoyoverse.com. +Chaos Zero Nightmare names an official coupon page without linking it, and no URL could be confirmed, +so it shows the in-game route only. + +**Refreshing.** These are game8 pages, so the CI caveat in AGENTS.md § Scraping conduct applies: if the +runner is refused, they refresh by hand like the event pages. diff --git a/docs/handoffs/2026-10-17-redesign-second-rejection-handoff.md b/docs/handoffs/2026-10-17-redesign-second-rejection-handoff.md index b72c360..5172127 100644 --- a/docs/handoffs/2026-10-17-redesign-second-rejection-handoff.md +++ b/docs/handoffs/2026-10-17-redesign-second-rejection-handoff.md @@ -924,3 +924,17 @@ committing: The owner chose to commit and push, including `design/`, the redesign docs, `docs/design-reviews/` and `.superpowers/`. The changelog entry and note follow in their own commit, because they must name the redesign commit. + +### After shipping: Settings width, redeem links, more code sources (2026-10-18) + +- **Settings on large screens.** Content was capped at 900px (760px on game, backup and data pages), + and the menu's rule stopped partway down. Content now uses up to 1320px; the changelog keeps its + reading column. The menu runs the full height. +- **Codes tab.** It gains "Redeem on the official site ↗" where the publisher has a web page (Genshin, + Star Rail, ZZZ), and the in-game route for every game with codes (`src/shared/redeem.ts`). + A redeemed checkbox names the server only when there is more than one. +- **Code sources.** Eight more games come from Game8: `parseGame8CodeTable`, with fixtures, expected + files and tests. Infinity Nikki is skipped because its page is stale, and ten games have no Game8 + page. See docs/SOURCES.md § Redeem codes for eight more games. +- **Owner's TODO:** let readers try Relaxed/Structured and the new/classic Timeline live, including + returning readers who've done the tour. diff --git a/fixtures/czn/game8-codes-2026-10-18.expected.json b/fixtures/czn/game8-codes-2026-10-18.expected.json new file mode 100644 index 0000000..44a5ad5 --- /dev/null +++ b/fixtures/czn/game8-codes-2026-10-18.expected.json @@ -0,0 +1,42 @@ +[ + { + "id": "[\"czn\",\"NIGHTMARECARNIVAL\"]", + "game": "czn", + "code": "NIGHTMARECARNIVAL", + "reward": "Crystals x1,000", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Chaos-Zero-Nightmare/archives/557967" + }, + { + "id": "[\"czn\",\"CZNNEWPDGIFT3RD\"]", + "game": "czn", + "code": "CZNNEWPDGIFT3RD", + "reward": "Signal Amplification Anchor x10", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Chaos-Zero-Nightmare/archives/557967" + }, + { + "id": "[\"czn\",\"CZNNEWPDGIFT2ND\"]", + "game": "czn", + "code": "CZNNEWPDGIFT2ND", + "reward": "Signal Amplification Anchor x10", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Chaos-Zero-Nightmare/archives/557967" + }, + { + "id": "[\"czn\",\"CZNNEWPDGIFT1ST\"]", + "game": "czn", + "code": "CZNNEWPDGIFT1ST", + "reward": "Signal Amplification Anchor x10", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Chaos-Zero-Nightmare/archives/557967" + }, + { + "id": "[\"czn\",\"epicwithczn\"]", + "game": "czn", + "code": "epicwithczn", + "reward": "Rescue Anchor x3 Unit x300,000", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Chaos-Zero-Nightmare/archives/557967" + } +] diff --git a/fixtures/czn/game8-codes-2026-10-18.html b/fixtures/czn/game8-codes-2026-10-18.html new file mode 100644 index 0000000..3ee32cb --- /dev/null +++ b/fixtures/czn/game8-codes-2026-10-18.html @@ -0,0 +1,1160 @@ +All Codes and How to Redeem (October 2026) | Chaos Zero Nightmare (CZN)|Game8 + + + + + + + + +

What can you do as a free member?

Member benefits illustration

Create your free account today and unlock all our premium features and tools to enhance your gaming experience.

Member benefits illustration

Create your free account today and save articles to your watchlist and get notified when they're updated with new information.

Member benefits illustration

Create your free account today and save your favorite games for quick access later, synced across all your devices.

Member benefits illustration

By creating a Game8 account and logging in, you'll receive instant notifications when someone replies to your posts.

Comment rating feature illustration

By creating a Game8 account and logging in, you can make use of convenient features in the comments section, such as rating and sorting comments.

Premium archive feature illustration

By creating a Game8 account and logging in, you can access Premium articles that are exclusively available to members.

Map tool feature illustration

By creating a Game8 account and logging in, the items you checked on the map tool will be saved.

Site Interface

Guest
Free Member
Article Watchlist
Game Bookmarks
Cross-device Sync
Light/Dark Theme Toggle
User Profiles
Direct Feedback
Comment Rating
Comment Notification
Premium Articles

Game Tools

Guest
Free Member
Interactive Map Access
Interactive Map Pins
Interactive Map Comments
Interactive Map Pins Cross-Device
Check List
Event Choice Checker
Deck Builder Cross-Device
Message Board Notification
Message Board Cross-Device
Build Planner
Stat Calculator
Diagnostic Tool
Weapon/Armor Wishlist
Team Builder
Character Scoring
Tier List Maker

Want more information?Learn more

Find your next guide

Choose a game to explore its walkthrough and guides.

+
Chaos Zero Nightmare (CZN)

All Codes and How to Redeem (October 2026)

+ + +Add to Watchlist (16)
Chaos Zero Nightmare - Redeem Codes
+ +

Here's a list of all the current and active Chaos Zero Nightmare (CZN) coupons and redeem codes as of October 2026! Check out this list of coupons and redeem codes and learn how to redeem them in-game.

+ + +

All Chaos Zero Nightmare Coupons Redeem Codes

All Active Coupons

+ + + + + + + + + + + + + + + + + + + + + + + + + +
CodeRewards
+
+ + +
Copied
+
+
+Duration: October 10 - November 9
+Crystals x1,000
+
+ + +
Copied
+
+
+Duration: October 7 - November 30
+Signal Amplification Anchor x10
+
+ + +
Copied
+
+
+Duration: September 30 - November 30
+Signal Amplification Anchor x10
+
+ + +
Copied
+
+
+Duration: September 23 - November 30
+Signal Amplification Anchor x10
+
+ + +
Copied
+
+
+Duration: September 15 - October 27
+ Rescue Anchor x3
+ Unit x300,000
+

Expired Coupons

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
CodeRewards
+
+ + +
Copied
+
+
+Duration: July 27 - August 3
+Crystals x500
+
+ + +
Copied
+
+
+Duration: May 4 - May 10
• 5x Tears of God +
+
+ + +
Copied
+
+
+Duration: April 28 - June 30
• 500 Crystals +
• 3x Tears of God +
• 3x Multidimensional Alignment Materials +
+
+ + +
Copied
+
+
+Duration: April 22 - June 30
• 10 Signal Amplification Anchor +
+
+ + +
Copied
+
+
+Duration: April 18 - June 30
• 1000 Crystals +
+

How to Redeem Chaos Zero Nightmare Coupons

Redeem Coupons In-Game

+ + + + + + + + + + + + + + + + + +
#Redeem Coupons In-Game
1 + +
+ Tap the Menu icon (three horizontal lines) in the top-right corner. +
2 + +
+ Click the Settings option, represented by the gear icon. +
3 + +
+ Scroll down to Account Settings at the bottom of the left-hand menu, then click Register Coupon and enter your coupon code. +
+

Redeem Coupons on Official Website

+

Chaos Zero Nightmare - Register Coupon
You can also enter your coupon code on the Chaos Nightmare Zero's Coupon Redemption Page to claim your rewards.

+ + + + + + + + +
Chaos Zero Nightmare Coupons Notes
+ ・Coupon rewards are delivered to the selected character’s in-game mailbox.
+ ・Coupon rewards will be stored for 30 days after registration, so please make sure to claim them within that period.
+ ・Expired coupons cannot be used.
+ ・Coupons that have already been redeemed cannot be used.
+ ・Some coupons may be restricted to specific servers.
+ ・The number of uses and validity period may vary depending on the coupon.
+ ・Coupons obtained through STOVE promotions must be redeemed in the [STOVE Coupon Storage] +
+

What are Redeem Codes in Chaos Zero Nightmare?

Special Bonuses and Rewards

+

Redeem codes in Chaos Zero Nightmare are special codes that players can enter to receive in-game rewards, such as currency or other bonuses. These codes are typically released during events, promotions, or updates to give players a head start or extra perks.

+ +

This page will be updated once more information about redeem codes and their rewards becomes available.

+

Chaos Nightmare Zero Related Guides

+
Chaos Zero Nightmare Wiki and Guides
+ +

Chaos Zero Nightmare Wiki Front

+ + + + + + +
+Hachikun Searching for Best Games.pngLooking for Great Games! +Is Chaos Zero Nightmare one of your favorite games?
Answer our Best Games Survey and share your unique voice with Game8's readers!
+

Guides by Category

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Chaos Zero Nightmare Wiki Contents
Chaos Zero Nightmare CharactersCharactersChaos Zero Nightmare PartnersPartners
Chaos Zero Nightmare NewsNewsChaos Zero Nightmare Chaos Chaos
Chaos Zero Nightmare Ark City Ark CityBanners Partial BannerBanners
Chaos Zero Nightmare Tips and Tricks Tips and TricksEquipment Partial.png Equipment
Card Partials.pngCardsMemory Fragments Partial Banner,mode;showMemory Fragments
All ItemsItemsChaos Zero Nightmare SimulationSimulation
Glossary Banner - Chaos Zero NightmareGlossaryChaos Zero Nightmare List of MissionsMissions
Galactic Disaster Galactic DisasterFates Fates
Outfits Outfits-
+

Exclusive Guides

+
Chaos Zero Nightmare - Premium Articles Partial Banner
+ +

Premium Articles

+ +
+

Recommended Guides

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Chaos Zero Nightmare Best Character Tier ListBest Characters Tier ListChaos Zero Nightmare - Reroll Top Banner.pngReroll Guide: Best Reroll Tier List
Chaos Zero Nightmare - Redeem CodesRedeem CodesChaos Zero Nightmare - Collab Top Banner.pngChaos Zero Nightmare x Hololive Collab
Team Composition GuideTeam Composition GuideChaos Zero Nightmare Best TeamsBest Teams
Chaos Zero Nightmare Best PartnersBest Partners +Chaos Zero Nightmare Upcoming BannersUpcoming Banners +
Neutral CardsNeutral Card Tier ListList of All Trauma Codes.pngList of All Trauma Codes
List of Voice Actors List of Voice ActorsBest Memory Fragment Tier ListBest Memory Fragments
Chaos Zero Nightmare - Best Forbidden Card Top BannerBest Forbidden CardsCorruption Mode ExplainedCorruption Mode Explained
Chaos Assault ExplainedChaos Assault ExplainedPurification Protocol ExplainedPurification Protocol Explained
Best Characters for Each Game Mode.pngBest Characters for All Endgame ModesChaos Zero Nightmare - Zero System Guide Top Banner.pngZero System Guide
ID Card Sharing BoardID Card Sharing BoardEnvironment Variable GuideEnvironment Variables Guide
Build Preset Sharing BoardBuild Preset Sharing Board-
+

Author

    +

    All rights reserved

    + + + +
    Guide Index
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    \ No newline at end of file diff --git a/fixtures/czn/game8-codes-2026-10-18.meta.json b/fixtures/czn/game8-codes-2026-10-18.meta.json new file mode 100644 index 0000000..a85b69d --- /dev/null +++ b/fixtures/czn/game8-codes-2026-10-18.meta.json @@ -0,0 +1,11 @@ +{ + "sourceId": "czn-game8-codes", + "url": "https://game8.co/games/Chaos-Zero-Nightmare/archives/557967", + "contentHash": "4df2be0e25981e40e9b2d8c5efa0a87fc389ae3e03ec028dbf017b83fd7f375a", + "bytes": 258431, + "etag": "W/\"4df2be0e25981e40e9b2d8c5efa0a87f\"", + "lastModified": null, + "contentChangedAt": "2026-10-18T02:11:13.874Z", + "lastConfirmedAt": "2026-10-18T02:11:13.874Z", + "charset": "utf-8" +} diff --git a/fixtures/endfield/game8-codes-2026-10-18.expected.json b/fixtures/endfield/game8-codes-2026-10-18.expected.json new file mode 100644 index 0000000..1ffa221 --- /dev/null +++ b/fixtures/endfield/game8-codes-2026-10-18.expected.json @@ -0,0 +1,34 @@ +[ + { + "id": "[\"endfield\",\"ENDFIELDSTEAM\"]", + "game": "endfield", + "code": "ENDFIELDSTEAM", + "reward": "T-Creds x8,000 Elementary Cognitive Carrier x2 Arms INSP Set x2 Heat-Driven Cog x1", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Arknights-Endfield/archives/571509" + }, + { + "id": "[\"endfield\",\"ZAU2SYXHWX5L4ZH\"]", + "game": "endfield", + "code": "ZAU2SYXHWX5L4ZH", + "reward": "T-Creds x5000 Arms INSP Kit x10", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Arknights-Endfield/archives/571509" + }, + { + "id": "[\"endfield\",\"ENDFIELDGIFT\"]", + "game": "endfield", + "code": "ENDFIELDGIFT", + "reward": "Oroberyl x150 T-Creds x10,000 Intermediate Combat Record x20 Arms INSP Kit x20", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Arknights-Endfield/archives/571509" + }, + { + "id": "[\"endfield\",\"ENDFIELD4PC\"]", + "game": "endfield", + "code": "ENDFIELD4PC", + "reward": "T-Creds x13,000 Advanced Combat Record x2 Arms INSP Kit x2", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Arknights-Endfield/archives/571509" + } +] diff --git a/fixtures/endfield/game8-codes-2026-10-18.html b/fixtures/endfield/game8-codes-2026-10-18.html new file mode 100644 index 0000000..9bdcbcd --- /dev/null +++ b/fixtures/endfield/game8-codes-2026-10-18.html @@ -0,0 +1,1990 @@ +Arknights: Endfield Codes and Redeem Guide|Game8 + + + + + + + + +

    What can you do as a free member?

    Member benefits illustration

    Create your free account today and unlock all our premium features and tools to enhance your gaming experience.

    Member benefits illustration

    Create your free account today and save articles to your watchlist and get notified when they're updated with new information.

    Member benefits illustration

    Create your free account today and save your favorite games for quick access later, synced across all your devices.

    Member benefits illustration

    By creating a Game8 account and logging in, you'll receive instant notifications when someone replies to your posts.

    Comment rating feature illustration

    By creating a Game8 account and logging in, you can make use of convenient features in the comments section, such as rating and sorting comments.

    Premium archive feature illustration

    By creating a Game8 account and logging in, you can access Premium articles that are exclusively available to members.

    Map tool feature illustration

    By creating a Game8 account and logging in, the items you checked on the map tool will be saved.

    Site Interface

    Guest
    Free Member
    Article Watchlist
    Game Bookmarks
    Cross-device Sync
    Light/Dark Theme Toggle
    User Profiles
    Direct Feedback
    Comment Rating
    Comment Notification
    Premium Articles

    Game Tools

    Guest
    Free Member
    Interactive Map Access
    Interactive Map Pins
    Interactive Map Comments
    Interactive Map Pins Cross-Device
    Check List
    Event Choice Checker
    Deck Builder Cross-Device
    Message Board Notification
    Message Board Cross-Device
    Build Planner
    Stat Calculator
    Diagnostic Tool
    Weapon/Armor Wishlist
    Team Builder
    Character Scoring
    Tier List Maker

    Want more information?Learn more

    Find your next guide

    Choose a game to explore its walkthrough and guides.

    +
    Arknights: Endfield

    Arknights: Endfield Codes and Redeem Guide

    + + +Add to Watchlist (356)
    +

    ✪ Check Game8 Endfield Twitter for daily tips!
    ★ Exclusive: Endfield's Connection to Arknights
    ✰ Version 1.6 is out! | Yuanyuan's Blazing Stoves
    ├ P1: Si (Builds / Teams / Banner)
    ├ P2: Argent Flow (Builds / Banner)
    └ Rerun: Tangtang (Builds | Teams | Banner)

    + +
    Arknights: Endfield Codes and Redeem Guide
    + +

    All Arknights: Endfield codes you can redeem as of October 2026. See a list of new and active codes, as well as detailed steps on how to redeem codes!

    + + + + + + + + + + + + + + + + + +
    Jump to a Free Rewards Page!
    All Endfield CodesPre-Register Rewards
    Daily Sign-In EventAll Web Events
    All Events
    + + +

    Version 1.6 Codes

    ENDFIELDSTEAM

    + + + + + + + + + +
    Redeem CodesReward
    +
    + + +
    Copied
    +
    + + + + + +Expires TBA + +
    +
    + +T-Creds T-Creds + + + + + + + + x8,000
    +
    + +Elementary Cognitive Carrier Elementary Cognitive Carrier + + + + + + + + x2
    +
    + +Arms INSP Set Arms INSP Set + + + + + + + + x2
    + + + + + +
    Heat-Driven Cog x1
    + +
    + +

    The code, ENDFIELDSTEAM, is the latest redeem code for Arknights: Endfield Version 1.6, meant to celebrate its Steam release on October 15!

    + +

    The code contains 8,000 T-Creds, 2 Elementary Cognitive Carrier, 2 Arms INSP Set, and a Heat-Driven Cog Portrait Frame!

    +

    Arknights: Endfield Active Codes

    All Active Codes in October 2026

    + + + + + + + + + + + + + + + + + + +
    Redeem CodesReward
    +
    + + +
    Copied
    +
    + + + + + +Expires TBA + +
    +
    + +T-Creds T-Creds + + + + + + + + x8,000
    +
    + +Elementary Cognitive Carrier Elementary Cognitive Carrier + + + + + + + + x2
    +
    + +Arms INSP Set Arms INSP Set + + + + + + + + x2
    + + + + + +
    Heat-Driven Cog x1
    + +
    +
    + + +
    Copied
    +
    + + + + + +Expires TBA + +
    +
    + +T-Creds T-Creds + + + + + + + + x5000
    +
    + +Arms INSP Kit Arms INSP Kit + + + + + + + + x10
    + + + + + + + + +
    +
    + + +
    Copied
    +
    + + + + + +Expires TBA + +
    +
    + +Oroberyl Oroberyl + + + + + + + + x150
    +
    + +T-Creds T-Creds + + + + + + + + x10,000
    +
    + +Intermediate Combat Record Intermediate Combat Record + + + + + + + + x20
    +
    + +Arms INSP Kit Arms INSP Kit + + + + + + + + x20
    + + + + + + +
    +
    + + +
    Copied
    +
    + + + +Only for PC Users
    + + + + +Expires TBA + +
    +
    + +T-Creds T-Creds + + + + + + + + x13,000
    +
    + +Advanced Combat Record Advanced Combat Record + + + + + + + + x2
    +
    + +Arms INSP Kit Arms INSP Kit + + + + + + + + x2
    + + + + + + + +
    + +

    Arknights: Endfield currently has four active codes available. ENDFIELDGIFT is available for all platforms while ENDFIELD4PC is limited only to PC users and can only be redeemed there.

    + + + + + +
    Game8 tip: sign in and use Add to Watchlist under the page title to get new code updates!
    + +

    The game has other rewards for its players up to the current update, such as milestones for in-game progression in Authority Level and Regional Development, guide events such as Subduer of the Blighted Sea, permanent beginner events like the Operator Progression Booster, and other limited-time events in-game.

    + +

    Be sure to fulfill the requirements and claim those rewards before they expire!

    +

    Arknights: Endfield Expired Codes

    All Expired Codes

    + + + + + + + + + + + + + + + + + + +
    Redeem CodesReward
    +AKENDFIELDSUB
    + + + +Expired 9/9/2026 + +
    +
    + +Oroberyl Oroberyl + + + + + + + + x100
    + + + + + + + +
    +ENDFIELDRENEW
    + + + +Expired 8/30/2026 + +
    +
    + + + + + +Sticker: Safety Helmet Sticker: Safety Helmet + + + + x1
    +
    + +T-Creds T-Creds + + + + + + + + x71600
    + + + + + + +
    +ALLFIELD
    + + + +Expired 1/29/2026 + +
    +
    + +Oroberyl Oroberyl + + + + + + + + x1500
    +
    + +T-Creds T-Creds + + + + + + + + x6000
    +
    + +Elementary Combat Record Elementary Combat Record + + + + + + + + x30
    +
    + +Arms Inspector Arms Inspector + + + + + + + + x30
    +
    + +Protoprism Protoprism + + + + + + + + x5
    +
    + +Protodisk Protodisk + + + + + + + + x5
    +
    + +Mark of Perseverance Mark of Perseverance + + + + + + + + x1
    + +
    +RETURNOFALL
    + + + +Expired 1/29/2026 + +
    +
    + +Oroberyl Oroberyl + + + + + + + + x500
    +
    + +T-Creds T-Creds + + + + + + + + x6000
    +
    + +Elementary Combat Record Elementary Combat Record + + + + + + + + x30
    +
    + +Arms Inspector Arms Inspector + + + + + + + + x30
    +
    + +Protoprism Protoprism + + + + + + + + x5
    +
    + +Protodisk Protodisk + + + + + + + + x5
    + + +
    + +

    The following codes have already expired and cannot be redeemed anymore. Trying to enter these codes in the redemption screen will only cause them to fail and not redeem.

    +

    How to Redeem Codes in Arknights: Endfield

    Use the Exchange Code feature found in the in-game Settings

    +

    How to Redeem Endfield Codes
    You can only redeem codes in-game, after completing the tutorial and unlocking the Mail system, which is unlocked during the Break the Siege Main Mission.

    + +
      +
    1. Launch the game and load your save (Codes cannot be redeemed at the login screen).
    2. +
    3. Open the Menu via the ESC button (PC) or Options button (PS5).
    4. +
    5. Select the Settings icon on the top left of the screen.
    6. +
    7. Go to the "Platform & Account" tab
    8. +
    9. Select "Exchange Code".
    10. +
    11. Input a valid code from the list above and press Confirm to redeem it.
    12. +
    13. Go back to the Menu, and then open the Mail icon
    14. +
    15. Find the mail in your inbox and Claim All to obtain the rewards.
    16. +
    +

    Can Only Be Redeemed In-Game

    +

    As there is currently no redemption portal on the official website, codes must be redeemed in-game.

    +

    Arknights: Endfield Related Guides

    +

    Arknights Endfield - Back to Top
    Arknights: Endfield Wiki Front

    +

    Guides by Category

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Arknights: Endfield Categories
    Arknights Endfield Characters PartialCharactersArknights Endfield - News and Game InfoNews and Game Info
    Arknights Endfield - BannersBannersArknights Endfield - Events Events and Schedule
    Arknights Endfield WeaponsWeaponsArknights Endfield - Gear PartialGear
    Arknights Endfield - ItemsItemsArknights Endfield - MissionsMissions
    Arknights Endfield Blueprints Partial BannerBlueprintsArknights Endfield - AIC FactoryAIC (Factory)
    Arknights Endfield - MapsInteractive MapArknights Endfield - Umbral MonumentUmbral Monument
    Arknights Endfield - Etchspace SalvageEtchspace SalvageArknights Endfield - Delver of the CrypticDelver of the Cryptic
    Arknights Endfield - Contingency ContractContingency ContractArknights Endfield - Regional DevelopmentRegional Development
    Arknights Endfield - BossesBossesArknights Endfield - EnemiesEnemies
    Arknights Endfield - Tips and TricksTips and TricksArknights Endfield - AchievementsAchievements
    Arknights Endfield - Message BoardMessage Board
    +

    Exclusive Guides

    +
    Arknights Endfield - Premium Article
    + +

    Premium Articles

    + + +

    All Tier Lists and Meta Guides

    + + + + + + + + + + + + + + + + +
    Arknights Endfield Tier List and Best CharactersCharacters Tier ListReroll GuideReroll Guide and Tier ListArknights Endfield Best Team CompsBest Team Comps
    Arknights Endfield Team Building Guide Team Building GuideArknights Endfield - All Character BuildsAll Character BuildsArknights Endfield - Best Weapons Tier ListWeapons Tier List
    Arknights Endfield All Stats and ExplanationAll Stats and ExplanationArknights Endfield - Best Weapons for Each CharacterBest Weapons Per CharacterBest Gear and Gear Sets for Each Character - Arknights EndfieldBest Gear Sets Per Character
    +

    All Helpful Tools

    + + + + + + +
    Tier List MakerTier List MakerArknights Endfield Team Builder ToolTeam Builder ToolArknights Endfield Essence CheckerWeapon Essence Checker
    +

    All Recommended Guides

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Arknights Endfield Gacha System, Rates, and Pity ExplainedGacha System ExplainedArknights Endfield - Protocol Pass Details and DifferencesProtocol Pass DetailsArknights Endfield Server Status and Reset Times Server Status and Times
    Arknights Endfield Bugs and IssuesBugs and Known IssuesArknights Endfield All Weapon Supply Guides All Weapon Supply GuidesArknights Endfield - Imminent IncursionImminent Incursion Guide
    Arknights Endfield - How to Farm Plants and Unlock PlantingHow to Farm Plants and Unlock PlantingArknights Endfield - All Races In-Game All Races In-GameArknights Endfield Is Amiya in EndfieldIs Amiya in Endfield?
    Arknights Endfield Explosives Guide - Blueprints and How to Make Industrial Explosives Explosives GuideArknights Endfield - Best Banner To Pull On Best Banner To Pull OnArknights Endfield All Protocol Space LocationsAll Protocol Space Locations
    Arknights Endfield How to Upgrade and Artifice GearHow to Upgrade GearArknights Endfield Gear System Crafting GuideGear System Crafting GuideArknights Endfield - Metastorage Transfer GuideMetastorage Transfer Guide
    Arknights Endfield Essence Guide and How to FarmEssence Guide: How to Farm EssenceArknights Endfield - How to Upgrade EssenceHow to Upgrade EssenceArknights Endfield - All Dried Originium Slug LocationsAll Dried Originium Slug Locations
    Arknights Endfield - Best Characters for Each OutpostBest Characters for Each OutpostArknights Endfield How to Farm T-CredsHow to Farm T-CredsArknights: Endfield Best Clue Room CharactersBest Clue Room Characters
    Arknights Endfield - Best Characters for OMV DijiangBest Characters for OMV DijiangArknights Endfield Trial of Swordmancy Release DateTrial of Swordmancy GuideArknights Endfield Crisis Fragment Release DateCrisis Fragment Guide and Rewards
    Arknights Endfield All Cosmetics All CosmeticsArknights Endfield - How to Find Route 13 How to Find Route 13
    +

    Comment

    10 Anonymous Anonymous 6 months

    ZAU2SYXHWX5L4ZH +code for 5k t-creds, 10 weapon upgrade kits

    9 Anonymous Anonymous 7 months

    ..No new codes for v1.1?!

      + + + + + + + + + + +

      Premium Articles

      +

      All rights reserved

      + + + +
      Guide Index
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      \ No newline at end of file diff --git a/fixtures/endfield/game8-codes-2026-10-18.meta.json b/fixtures/endfield/game8-codes-2026-10-18.meta.json new file mode 100644 index 0000000..8a4a270 --- /dev/null +++ b/fixtures/endfield/game8-codes-2026-10-18.meta.json @@ -0,0 +1,11 @@ +{ + "sourceId": "endfield-game8-codes", + "url": "https://game8.co/games/Arknights-Endfield/archives/571509", + "contentHash": "75c3ac825b82f46b51be36e5a22ddc99b37aca25574fac0b103c2f89934c9362", + "bytes": 359357, + "etag": "W/\"75c3ac825b82f46b51be36e5a22ddc99\"", + "lastModified": null, + "contentChangedAt": "2026-10-18T02:11:06.247Z", + "lastConfirmedAt": "2026-10-18T02:11:06.247Z", + "charset": "utf-8" +} diff --git a/fixtures/hsr/game8-codes-2026-10-18.expected.json b/fixtures/hsr/game8-codes-2026-10-18.expected.json new file mode 100644 index 0000000..dfcbb53 --- /dev/null +++ b/fixtures/hsr/game8-codes-2026-10-18.expected.json @@ -0,0 +1,50 @@ +[ + { + "id": "[\"hsr\",\"PEARLAPPRAISE\"]", + "game": "hsr", + "code": "PEARLAPPRAISE", + "reward": "Traveler's Guide x3 Cold Joke x2", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Honkai-Star-Rail/archives/410296" + }, + { + "id": "[\"hsr\",\"OMEGA\"]", + "game": "hsr", + "code": "OMEGA", + "reward": "Stellar Jade x60 Fuel x1", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Honkai-Star-Rail/archives/410296" + }, + { + "id": "[\"hsr\",\"CREATIONNYMPH\"]", + "game": "hsr", + "code": "CREATIONNYMPH", + "reward": "Stellar Jade x60 Fuel x1 Heroic Variable x1", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Honkai-Star-Rail/archives/410296" + }, + { + "id": "[\"hsr\",\"FAREWELL\"]", + "game": "hsr", + "code": "FAREWELL", + "reward": "Stellar Jade x60 Fuel x1", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Honkai-Star-Rail/archives/410296" + }, + { + "id": "[\"hsr\",\"IFYOUAREREADINGTHIS\"]", + "game": "hsr", + "code": "IFYOUAREREADINGTHIS", + "reward": "Stellar Jade x60 Fuel x1", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Honkai-Star-Rail/archives/410296" + }, + { + "id": "[\"hsr\",\"STARRAILGIFT\"]", + "game": "hsr", + "code": "STARRAILGIFT", + "reward": "Stellar Jade x100 Traveler's Guide x4 Bottled Soda x5 Credit x50,000", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Honkai-Star-Rail/archives/410296" + } +] diff --git a/fixtures/hsr/game8-codes-2026-10-18.html b/fixtures/hsr/game8-codes-2026-10-18.html new file mode 100644 index 0000000..0214b76 --- /dev/null +++ b/fixtures/hsr/game8-codes-2026-10-18.html @@ -0,0 +1,2650 @@ +Honkai: Star Rail (HSR) Redeem Codes for October 2026|Game8 + + + + + + + + +

      What can you do as a free member?

      Member benefits illustration

      Create your free account today and unlock all our premium features and tools to enhance your gaming experience.

      Member benefits illustration

      Create your free account today and save articles to your watchlist and get notified when they're updated with new information.

      Member benefits illustration

      Create your free account today and save your favorite games for quick access later, synced across all your devices.

      Member benefits illustration

      By creating a Game8 account and logging in, you'll receive instant notifications when someone replies to your posts.

      Comment rating feature illustration

      By creating a Game8 account and logging in, you can make use of convenient features in the comments section, such as rating and sorting comments.

      Premium archive feature illustration

      By creating a Game8 account and logging in, you can access Premium articles that are exclusively available to members.

      Map tool feature illustration

      By creating a Game8 account and logging in, the items you checked on the map tool will be saved.

      Site Interface

      Guest
      Free Member
      Article Watchlist
      Game Bookmarks
      Cross-device Sync
      Light/Dark Theme Toggle
      User Profiles
      Direct Feedback
      Comment Rating
      Comment Notification
      Premium Articles

      Game Tools

      Guest
      Free Member
      Interactive Map Access
      Interactive Map Pins
      Interactive Map Comments
      Interactive Map Pins Cross-Device
      Check List
      Event Choice Checker
      Deck Builder Cross-Device
      Message Board Notification
      Message Board Cross-Device
      Build Planner
      Stat Calculator
      Diagnostic Tool
      Weapon/Armor Wishlist
      Team Builder
      Character Scoring
      Tier List Maker

      Want more information?Learn more

      Find your next guide

      Choose a game to explore its walkthrough and guides.

      +
      Honkai: Star Rail

      Honkai: Star Rail (HSR) Redeem Codes for October 2026

      + + +Add to Watchlist (213)
      +

      ★ Exclusive: Players' Report for 4.5!
      ♦ Latest: 4.6 Banners and Events and 4.6 Redeem Codes
      ♦ 4.6 Phase 1: Pearl and Evanescia
      ♦ Fate Collab Part 2: Rin Tohsaka and Gilgamesh

      + +
      Honkai Star Rail Redeem Codes for October 2026
      + +

      Here are all the active Honkai: Star Rail Codes for October 2026, including the limited-time codes. Check out this list of Star Rail codes and how to redeem them for free Stellar Jades!

      + + +

      Active Redeem Codes for October 2026

      New HSR Codes in October 2026

      + + + + + + + + + + + + + + + + + + + + + + + + + +
      Redeem CodesReward
      +
      + + +
      Copied
      +
      + +Redeem PEARLAPPRAISE Here +
      +
      + + +Star Rail - Traveler Traveler's Guide + + + + + + x3
      +
      + + +Star Rail - Cold Joke Item Cold Joke + + + + + + x2
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      +
      + + +
      Copied
      +
      + +Redeem OMEGA Here +
      +
      + + +Star Rail - Stellar Jade Item Stellar Jade + + + + + + x60
      +
      + + +Star Rail - Fuel Item Fuel + + + + + + x1
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      +
      + + +
      Copied
      +
      + +Redeem CREATIONNYMPH Here +
      +
      + + +Star Rail - Stellar Jade Item Stellar Jade + + + + + + x60
      +
      + + +Star Rail - Fuel Item Fuel + + + + + + x1
      +
      + + +Star Rail - Heroic Variable Item Heroic Variable + + + + + + x1
      +
      + +
      +
      + +
      +
      + +
      +
      +
      + + +
      Copied
      +
      + +Redeem FAREWELL Here +
      +
      + + +Star Rail - Stellar Jade Item Stellar Jade + + + + + + x60
      +
      + + +Star Rail - Fuel Item Fuel + + + + + + x1
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      +
      + + +
      Copied
      +
      + +Redeem IFYOUAREREADINGTHIS Here +
      +
      + + +Star Rail - Stellar Jade Item Stellar Jade + + + + + + x60
      +
      + + +Star Rail - Fuel Item Fuel + + + + + + x1
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      +
      + + +
      Copied
      +
      + +Redeem STARRAILGIFT Here +
      +
      + + +Star Rail - Stellar Jade Item Stellar Jade + + + + + + x100
      +
      + + +Star Rail - Traveler Traveler's Guide + + + + + + x4
      +
      + + +Star Rail - Bottled Soda Item Bottled Soda + + + + + + x5
      +
      + + +Star Rail - Credit Item Credit + + + + + + x50,000
      +
      + +
      +
      + +
      +
      + +

      There are currently 6 Honkai: Star Rail codes available for October 2026. Use the Redeem Codes above to receive Stellar Jades and get more pulls for Characters and Light Cones!

      + +

      Latest News and Updates

      +

      How to Redeem HSR Codes

      Use the Official Redeem Code Website

      +
      HSR Codes - Official Honkai Star Rail Code Redeem Website
      + +
        +
      1. Go to the official redemption site.
      2. +
      3. Log into your account.
      4. +
      5. Select your account's region.
      6. +
      7. Input the redeem code and click ''Redeem''.
      8. +
      9. Claim rewards from your in-game mail.
      10. +
      + +

      Players can redeem codes on the game's official redemption website. Just log in with your HoYoverse account and enter your server, character name, and valid redeem code to claim the free rewards.

      + +

      Note that for IOS users, using the website is the only way to redeem codes!

      + +

      Star Rail Redeem Code Website

      +

      In-Game Redemption

      +
      HSR Codes - In-Game Redemption
      + +
        +
      1. Open the menu and click on the ''ellipsis'' icon
      2. +
      3. Click on the ''Redemption Code'' button
      4. +
      5. Input your Redeem Code and click ''Redeem''
      6. +
      7. Go back to ''More'' and claim rewards from the Mail
      8. +
      9. Return to the Menu then click on the Mail Icon
      10. +
      11. Click the Claim All button to get the rewards.
      12. +
      + +

      It is also possible to redeem codes in-game by opening the Menu, then tapping on the ellipsis in the top right corner. Select the Redemption Code option and enter the codes.

      + +

      Note that the Redemption Code button will not show up on the IOS version of the game!

      +

      How to Reedem Codes on Mobile

      +
      HSR Codes  - How to Reedem Codes on Mobile
      + +
        +
      1. Tap the Phone Icon to bring up the menu
      2. +
      3. Tap on the ''ellipsis'' icon
      4. +
      5. Tap on the ''Redemption Code'' button
      6. +
      7. Input your Redeem Code and tap ''Redeem''
      8. +
      9. Return to the Menu then tap on the Mail Icon
      10. +
      11. Tap on the Claim All button to get the rewards.
      12. +
      + +

      Players on Mobile can open the Menu by pressing the Phone icon at the top left of the screen, near the mini-map. Then, tap the ellipsis at the top right as mentioned previously to open the Redemption Code function!

      +

      All Expired Star Rail Redeem Codes

      HSR 4.6 Livestream Codes

      +
      HSR 4.6 Livestream Codes
      + + + +

      Here is a list of all the latest Honkai: Star Rail redeem codes that were shown in the recent 4.6 Livestream! The 4.6 Livestream redeem codes expire on September 21, 2026 at 10:59 AM (UTC-5).

      + +

      4.6 Livestream Codes List and Rewards

      +

      List of Expired Honkai: Star Rail Codes

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      CodesRewards
      MALSV2F247FP +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      7S4AD2X35NE3 +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      KA5SV3FJM7WX +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      8SMSVJWJM7ZT +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      NSJR3B97ZZ5X +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      STARRAILFATE2026 +
      ・Traveler's Guide x3
      +
      ・The Fluffy Multi-Functional Fan Glowstick x2
      +
      BESTCOFFEEEVER +
      ・Traveler's Guide x3
      +
      ・Express Special Blend - Rustic Infusion x2
      +
      YAJQ2TR6ZY2P +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      LSJ9JARPZH33 +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      2TKRKAR6YG2X +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      PSJQKBQPYGMT +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      BladeFitCheck +
      ・Traveler's Guide x3
      +
      ・Cold Joke x2
      +
      XTJ9MV38DL3X +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      HT3QMCJ9U4JB +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      WAK84U29VLYP +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      VS3Q5VK9CMFP +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      SitByEvanescia +
      ・Traveler's Guide x3
      +
      ・Bottled Quantum Ghost x2
      +
      SILVERWOLFLV999 +
      ・Traveler's Guide x3
      +
      ・Badge Battle Robe x2
      +
      QS395DJQU4HK
      ・Stellar Jade x60
      EB395CJ8V5XF +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      YT295D38DLEB +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      CA395VK8ULCP +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      EB28LCJRU4W3 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      AceDetective +
      ・Traveler's Guide x3
      +
      ・Cold Joke x2
      +
      HAPPY3RDANNIV +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      SHAREANDSAVEIT +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      HERESTHECODE +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      4T28RJM4MS3B +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      SUB2SPARXIE +
      ・Traveler's Guide x3
      +
      ・Sparxie Unlimited Edition Collectible Plushie x2
      +
      ALETTERFORYOU +
      ・Adventure Log x6
      +
      ・Dreamlight - Mixed Sweets x2
      +
      HailYaoGuang +
      ・Traveler's Guide x3
      +
      ・Songlotus Cake x2
      +
      7T3R83MMMTY3 +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      CSJ882LL4BHF +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      DBJ9RJLMLSZB +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      KBJ8VZ6Y27QX +
      ・Stellar Jade x60
      +
      ・Traveler's Guide x2
      +
      ・Refined Aether x3
      +
      ・Credit x5,000
      +
      MH5KC +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      BGF3A +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      AT45Q +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      XAK9QJ454SG7 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      CB2RUY7Y2P9B +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      THEDAHLIA +
      ・Traveler's Guide x3
      +
      ・Dream Syrup x2
      +
      HITLIKETOBEAHA +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      QWQXDDLOLOMO +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      AHAHAHAHAHAHA +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      4TJ9UZ7Z36N7 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      STORYOFLOVE +
      ・Traveler's Guide x3
      +
      ・Oronyx Slate x2
      +
      JS2QEA3SDHFK +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      MTKQEAJAUZWB +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      RSJ9EB2TDGC7 +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      PS3QWS3ACGDK +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      VAK9XB2BCGFX +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      FREEDANHENG +
      ・Traveler's Guide x3
      +
      ・Earth Crystal Ore x2
      +
      MADFORMARCH +
      ・Traveler's Guide x3
      +
      ・At Least We Gather for Now x2
      +
      9BJ8YE37HM8B +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      UT38ZEJPY573 +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      NBJ8HEJNZ5NF +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      YTKQGE27H57T +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      3S3RGX2PGL7P +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      LIFTTHEKING +
      ・Monarch's Maneuver x2
      +
      ・Traveler's Guide x3
      +
      STARTTHEFEAST +
      ・Boneflute of Fish-Calling x2
      +
      ・Traveler's Guide x3
      +
      TB39Z7X49NZ7 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      QSJQZ7WL9PZX +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      AA39GPEL9NHB +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      WTK9Z6EMQPEP +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      7S2QGPW4R7YK +
      ・Stellar Jade x50
      +
      ・Credit x50,000
      +
      STARRAILFATE +
      ・Traveler's Guide x3
      +
      ・Sword in the Stone x2
      +
      PHAINONSENDOFF +
      ・Traveler's Guide x3
      +
      ・Dried Bread x2
      +
      YA37N29RUSJ7 +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      CT2N72RRUAJK +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      TB2NPKQ8USKF +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      ABKN6KR9UB5B +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      DTJ7CVACLBGF +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      ZS36CVBUMTZB +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      FTJ6CVTULSXP +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      CIPHERLOOT +
      ・Veil Bundle x2
      +
      ・Traveler's Guide x3
      +
      7B36DCTC5SZ7 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      HYACINEHEALS +
      ・Golden Honeycake x2
      +
      ・Traveler's Guide x3
      +
      WAJ7CVBC4SG3 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      ATELIERANAXA +
      ・Dried Sagelore Fruit x2
      +
      ・Traveler's Guide x3
      +
      EBKLKMGLVMG7 +
      ・Stellar Jade x120
      +
      ・Traveler's Guide x4
      +
      ・Refined Aether x5
      +
      ・Credit x20,000
      +
      GA3M24Z5C5KT
      ・Stellar Jade x60
      7T34K5YLU5GT +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      SAJ4KLZLDMW3 +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      GT34K5Z4U4EX +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      WS25K4Y4C5ET +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      HSRCASTORICE +
      ・Redsoil Feed x2
      +
      ・Traveler's Guide x3
      +
      LS342LYLC5FP +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      FIGHTWELLMYDEI +
      ・Golden Honeycake x2
      +
      ・Traveler's Guide x3
      +
      DBKMW7MA6XB3 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      HSRCHOCO +
      ・Trick Snack x3
      +
      ・Lost Lightdust x3
      +
      ・Traveler's Guide x3
      +
      HSRWHITEDAY2025 +
      ・Adventure Log x6
      +
      ・Hundred-Layer Sundae (Zero Calories) x2
      +
      2A3LF64ANXSX +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      HSRCHOCOLATE2025 +
      ・Adventure Log x6
      +
      ・Dreamlight - Mixed Sweets x2
      +
      WHEREISTRIBBIE +
      ・Oronyx Slate x2
      +
      ・Traveler's Guide x3
      +
      HSRINGAMESTOP +
      ・Lost Gold Fragment x2
      +
      ・Adventure Log x4
      +
      ・Sweet Dreams Holographic Ticket x3
      +
      ・Credit x10,000
      +
      XYZ7OPQR9012 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      HSRAWAITSYOU +
      ・Stellar Jade x60
      +
      ・Traveler's Guide x2
      +
      ・Refined Aether x4
      +
      ・Credit x5,000
      +
      THISISTHEHERTA +
      ・Life Transmitter x2
      +
      ・Credit x10,000
      +
      HELLOAMPHOREUS +
      ・High-Tech Protective Gear x2
      +
      ・Credit x10,000
      +
      LIGHTTHEWAY +
      ・Odd Gummy Candy x2
      +
      ・Credit x5,000
      +
      LIGHTTHEWAY +
      ・Alfalfa Salad x2
      +
      ・Credit x5,000
      +
      AWAITSYOURLIGHT +
      ・Golden Slumbernana x2
      +
      ・Credit x5,000
      +
      REMEMBRANCE +
      ・Potato Fries Sundae x2
      +
      ・Credit x5,000
      +
      AMPHOREUS0115 +
      ・Clockie Pizza (Whole) x2
      +
      ・Credit x5,000
      +
      STARRAILTREND2024 +
      ・Traveler's Guide x3
      +
      ・Potato Fries Sundae x2
      +
      EAJJPMN3DDE3 +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      RTKJPM6JVCFF +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      ABC1CDEF0123 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      BS3265PKCVXT +
      + [align]・Stellar Jade x100
      +
      ・Credit x50,000
      +
      HSRNEWYEAR2025 +
      ・Traveler's Guide x3
      +
      ・Credit x20,000
      +
      IC66H7K4D1F3 +
      ・Traveler's Guide x3
      +
      ・Oak Cake Rolls x3
      +
      ・Credit x20,000
      +
      AS3J6MNJVCA7 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      HSRFUGUE1225 +
      ・Traveler's Guide x3
      +
      ・Immortal's Delight x2
      +
      BZ61Z8D5Q6K1 +
      ・Traveler's Guide x3
      +
      ・Immortal's Delight x3
      +
      ・Credit x20,000
      +
      QI75N8V1J2G7 +
      ・Traveler's Guide x3
      +
      ・Dreamville Special x3
      +
      ・Credit x20,000
      +
      YF61G7F3P4Q2 +
      ・Traveler's Guide x3
      +
      ・Credit x30,000
      +
      TINGYUNISBACK +
      ・Immortal's Delight x2
      +
      ・Credit x5,000
      +
      HAPPYSUNDAY +
      ・Halovian Winged Burger x2
      +
      ・Credit x5,000
      +
      SUNDAYCALENDAR +
      ・Traveler's Guide x5
      +
      ・Classic SoulGlad x2
      +
      VCUB4T2V4L8N5 +
      ・Refined Aether x3
      +
      ・Classic SoulGlad x3
      +
      ・Credit x20,000
      +
      WOVPRK19JGM41 +
      ・Lost Crystal x3
      +
      ・Dreamy Cone (Three Flavors) x3
      +
      ・Credit x20,000
      +
      HSRHOYOFAIR2025
      ・Stellar Jade x60
      HSRSEASTHEDAY
      ・Stellar Jade x60
      HSR320250115 +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      HSR3AMPHOREUS +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      HSR3DAWEISGIFT +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      VBKJP473VCS3 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      CM26EFGH5678 +
      ・Traveler's Guide x3
      +
      ・Credit x30,000
      +
      STARRAILOSAKA +
      ・Adventure Log x2
      +
      ・Lost Gold Fragment x2
      +
      ・Crystal Lizard Satay x2
      +
      EB3KUYQW833P +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      STARRAILKARAOKE +
      ・Traveler's Guide x3
      +
      ・Sparse Aether x3
      +
      ・Full-Auto Dreampaint Spray x3
      +
      3A23UG9FR24T +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      RAPPAISHERE +
      ・Dazzling Ninja Provisions x3
      +
      ・Credit x20,000
      +
      4AKKCZQF92P3 +
      ・Lost Crystal x3
      +
      ・Dreamlight - Mixed Sweets x2
      +
      HBKKDH9FR3NX +
      ・Scare Box x2
      +
      ・Lost Crystal x3
      +
      MISTERRATIO +
      ・Origami Cake x3
      +
      ・Credit x20,000
      +
      VNQCT6Y2L8N4K +
      ・Refined Aether x3
      +
      ・Health Detox Pill x4
      +
      ・Credit x20,000
      +
      LINGSHAQUIZ +
      ・Traveler's Guide x3
      +
      ・Jade Marrow Diffusion x2
      +
      MGLFK6N2C8Y4V +
      ・Traveler's Guide x3
      +
      ・Jade Marrow Diffusion x3
      +
      ・Credit x20,000
      +
      BKWHQ9B3G7T1M +
      ・Traveler's Guide x3
      +
      ・Immortal's Delight x3
      +
      ・Credit x20,000
      +
      HJSZQ4C8H2F6W +
      ・Lost Crystal x3
      +
      ・Amber Huadiao Wine x3
      +
      ・Credit x20,000
      +
      CM25RWG44W62 +
      ・Traveler's Guide x3
      +
      ・Credit x30,000
      +
      XRPTL1P7K5H8W +
      ・Traveler's Guide x3
      +
      ・Five-Grain Jade Elixir x3
      +
      ・Credit x20,000
      +
      FeixiaoFiles +
      ・Lost Crystal x3
      +
      ・Five-Grain Jade Elixir x2
      +
      HSRRAZERLA25 +
      ・Bottled Soda x3
      +
      ・Credit x20,000
      +
      5T3Y6764D3Q3 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      NOHOTFOODPLEASE +
      ・Traveler's Guide x3
      +
      ・Five-Grain Jade Elixir x2
      +
      AA2G7664C2RX +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      FEIXIAOGIFT +
      ・Adventure Log x2
      +
      ・Credit x5,000
      +
      YUNLISNACK +
      ・Traveler's Guide x3
      +
      ・Berrypheasant Skewers x6
      +
      3S3XKXZ5NU27 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      5TJE2WYM6C6T +
      ・Signature Chili Oil Beef Offal Stew x2
      +
      ・Credit x5,000
      +
      SEABLAZE +
      ・Pika White Grape Soda x2
      +
      ・Credit x5,000
      +
      FIREFLY0619 +
      ・Credit x5,000
      +
      ・Oak Cake Rolls x2
      +
      WAKE4HCV745T +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      FIREFLYSGIFT +
      ・Traveler's Guide x3
      +
      ・Oak Cake Rolls x2
      +
      6T3F5HVD6LK7 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      VAJEGY4MNMDK +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      ROBININSIDE +
      ・Adventure Log x2
      +
      ・Credit x10,000
      +
      FA2CU3P7P6QT +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      0327CARNIVAL +
      ・Sour Dreams - Soft Candy x2
      +
      ・Credit x5,000
      +
      HSR1YEAR +
      ・All or Nothing x1
      +
      ・Credit x5,000
      +
      MOREPEACH +
      ・Traveler's Guide x3
      +
      ・Sour Dreams - Soft Candy x2
      +
      ST3SHPNLNTN3 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      CHARMEDONE
      ・Adventure Log x4
      ALLORNOTHING +
      ・All or Nothing x1
      +
      ・Credit x10,000
      +
      LUCKYGAME
      ・Condensed Aether x3
      BTKBH6P47B77 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      QBJTY77MN9T7
      ・Credit x20,000
      5AJTZPPMN8VB
      ・Stellar Jade x100
      POMPOMPOWER/td> + +
      ・High-Tech Protective Gear x5
      +
      ・Credit x5,000
      +
      HSRGALAXY23 +
      ・Traveler's Guide x3
      +
      ・Refined Aether x3
      +
      ・Hypnotic Hammer x5
      +
      ・Credit x20,000
      +
      NB9TKRMK5R23 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      2AQA294J5R3 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      TT9S28LK4QHP +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      EA8BKR4JL93T +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      LTQA2Q5249KF +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      5S9BND25CRBK +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      9TRB7C2LDQBP +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      KB9A7VJ5VQW7
      ・Credit x10,000
      YTRB6VKMVRZB
      ・Credit x10,000
      ST9T6DKLVRGX
      ・Credit x10,000
      US9SND24U8FB
      ・Dry Emergency Light x3
      4BQSPDKLVQFF
      ・Camo Paint x3
      JT8BPUJMURUP
      ・Sweet Dreams Soda x3
      KBQBEP3L8823 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      PT8TF72MQ93X +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      JB9BE7K5RQY3 +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      HT8BX7JL89Z7 +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      6B9BFPK58Q3T +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      MB6N2TVCSQ9F +
      ・Stellar Jade x50
      +
      ・Credit x50,000
      +
      5S6ZHRWTDNJB
      ・Stellar Jade x60
      STPN3TUUTQ8K +
      ・Stellar Jade x60
      +
      ・Credit x10,000
      +
      TAP8H27JBRGP +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      JSPRZ272S9JB +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      MT79YKNKARJX +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      8B64E57RPP3P +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      BTN5EL69P6K3 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      QSN7CYEBRYE7 +
      ・Stone From the Everwinter Monument x3
      +
      ・Antimatter Field Generator x3
      +
      ・Trick Snack x3
      +
      2SP2XE4YBJBB +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      BSN2EWMHA4RP +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      GOODGAME1024 +
      ・Condensed Aether x3
      +
      ・Travel Encounters x5
      +
      ・Credit x10,000
      +
      SURPRISE1024 +
      ・Stellar Jade x30
      +
      ・Adventure Log x3
      +
      ・Dust of Alacrity x2
      +
      ・Credit x5,000
      +
      HSRVER10JYTGHC +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      9A6BHRKX4XNL +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      5S6BZ93E4WN8 +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      TTNAYQ3FMF9U +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      CS75WMP976AK
      ・Stellar Jade x100
      DB7A64BW8LC7 +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      8A6T6LBFQ4D3 +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      ZTPTNMTX8LUF +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      7S9SPCJ5CRUT +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      QTRTNC3LU9UX +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      VA8APU34C8C3 +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      6T96N52TADN7 +
      ・Stellar Jade x100
      +
      ・Refined Aether x4
      +
      3S9N65KTBD63 +
      ・Stellar Jade x100
      +
      ・Traveler's Guide x5
      +
      ZA9674JSAUPF +
      ・Stellar Jade x100
      +
      ・Credit x50,000
      +
      SB87P52BTVQ3 +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      6B976L2STURF +
      ・Stellar Jade x50
      +
      ・Credit x10,000
      +
      VEGASHSR +
      ・Sweet Dreams Soda x2
      +
      ・Credit x5,000
      +
      0206STARRAIL +
      ・Startaro Bubble x2
      +
      ・Credit x5,000
      +
      SWEETDREAMS +
      ・Traveler's Guide x2
      +
      ・Refined Aether x2
      +
      DIVEINTODREAMS +
      ・Bottled Soda x2
      +
      ・Credit x5,000
      +
      0206GRANDOPEN +
      ・Energy Drink x2
      +
      ・Credit x5,000
      +
      DREAMTOGETHER +
      ・Flaming Potent Tea x2
      +
      ・Credit x5,000
      +
      0206PENACONY +
      ・Steamed Puffergoat Milk x2
      +
      ・Credit x5,000
      +
      + +

      What are Redeem Codes?

      Rewards Stellar Jades, Materials, and Credits

      +

      HSR Codes - Rewards in Mailbox
      Redeeming Honkai: Star Rail codes while they're valid will reward you with different items, including Stellar Jades, Consumables, Upgrade Materials, and Credits.

      + +

      Rewards obtained from redeem codes can be claimed in-game through your mailbox. The mailbox will be unlocked during the mission, A Moment of Peace.

      + +

      How to Open Mailbox

      +

      Honkai: Star Rail Related Guides

      Honkai Star Rail Wiki Guide

      +
      Honkai Star Rail - Back to Top
      + +

      Honkai: Star Rail Wiki Front

      + + + + + + +
      +Hachikun Searching for Best Games.pngLooking for Great Games! +Is Honkai: Star Rail one of your favorite games?
      Answer our Best Games Survey and share your unique voice with Game8's readers!
      +

      Guides by Category

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Honkai Star Rail Categories
      Honkai Star Rail - News and Game Information NewsHonkai Star Rail - Characters Characters
      Honkai Star Rail - Tips and Tricks Tips and TricksHonkai Star Rail - Enemies Enemies
      Honkai Star Rail - Bosses BossesHonkai Star Rail - Light Cones Light Cones
      Honkai Star Rail - WarpsWarpsHonkai Star Rail - EventsEvents
      Honkai Star Rail - ItemsItemsHonkai Star Rail - Relics Relics
      Honkai Star Rail - Cavern of Corrosion CavernsHonkai Star Rail - Missions Missions
      Honkai Star Rail - Maps MapsHonkai Star Rail - Forgotten HallForgotten Hall
      Honkai Star Rail - Tier ListsTier ListsHonkai Star Rail - CosmeticsCosmetics
      Honkai Star Rail - Simulated UniverseSimulated UniverseHonkai Star Rail - Pure FictionPure Fiction
      Honkai Star Rail - Apocalyptic Shadow Apocalyptic ShadowHonkai Star Rail - Anomaly ArbitrationAnomaly Arbitration
      HSR - Currency WarsCurrency WarsHSR - ReviewReview
      +

      Exclusive Guides

      +
      Premium Articles.png
      + +

      Premium Articles

      + + +

      Comment

      53 Anonymous Anonymous 15 days

      5TMADJHB2ZA7

      52 Anonymous Anonymous 17 days

      4B5BCYWBZGKX

      Author

        +

        All rights reserved

        + + + +
        Guide Index
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        \ No newline at end of file diff --git a/fixtures/hsr/game8-codes-2026-10-18.meta.json b/fixtures/hsr/game8-codes-2026-10-18.meta.json new file mode 100644 index 0000000..e44f9ef --- /dev/null +++ b/fixtures/hsr/game8-codes-2026-10-18.meta.json @@ -0,0 +1,11 @@ +{ + "sourceId": "hsr-game8-codes", + "url": "https://game8.co/games/Honkai-Star-Rail/archives/410296", + "contentHash": "be9e4c55c6e50d3393fc6fbbc85931e32f2d1fde24bc006488f239a903d54762", + "bytes": 259975, + "etag": "W/\"be9e4c55c6e50d3393fc6fbbc85931e3\"", + "lastModified": null, + "contentChangedAt": "2026-10-18T02:10:59.689Z", + "lastConfirmedAt": "2026-10-18T02:10:59.689Z", + "charset": "utf-8" +} diff --git a/fixtures/nte/game8-codes-2026-10-18.expected.json b/fixtures/nte/game8-codes-2026-10-18.expected.json new file mode 100644 index 0000000..77fa747 --- /dev/null +++ b/fixtures/nte/game8-codes-2026-10-18.expected.json @@ -0,0 +1,98 @@ +[ + { + "id": "[\"nte\",\"WONDERLOGGIFT\"]", + "game": "nte", + "code": "WONDERLOGGIFT", + "reward": "Annulith x30, Fons x20,000, Senior Hunter Guide x3", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Neverness-to-Everness/archives/593718" + }, + { + "id": "[\"nte\",\"BLACKBIRDINNTE\"]", + "game": "nte", + "code": "BLACKBIRDINNTE", + "reward": "Heterogeneous Unit x20, Fons x10,000, Beetle Coin x30,000", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Neverness-to-Everness/archives/593718" + }, + { + "id": "[\"nte\",\"BLACKBIRDHERE\"]", + "game": "nte", + "code": "BLACKBIRDHERE", + "reward": "Witch's Blessing Profile Frame x 1", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Neverness-to-Everness/archives/593718" + }, + { + "id": "[\"nte\",\"COMEBACK\"]", + "game": "nte", + "code": "COMEBACK", + "reward": "Fabricated Dice x1", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Neverness-to-Everness/archives/593718" + }, + { + "id": "[\"nte\",\"ZANKOU0819\"]", + "game": "nte", + "code": "ZANKOU0819", + "reward": "Annulith x30, Fons x50,000, Beetle Coin x30,000", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Neverness-to-Everness/archives/593718" + }, + { + "id": "[\"nte\",\"NTEMusou\"]", + "game": "nte", + "code": "NTEMusou", + "reward": "Fons x10,000, Beetle Coin x10,000", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Neverness-to-Everness/archives/593718" + }, + { + "id": "[\"nte\",\"NTEKokushi\"]", + "game": "nte", + "code": "NTEKokushi", + "reward": "Fons x30,000, Beetle Coin x30,000", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Neverness-to-Everness/archives/593718" + }, + { + "id": "[\"nte\",\"NTEGIFT\"]", + "game": "nte", + "code": "NTEGIFT", + "reward": "Annulith x50, Rising Hunter Guide x5, Light Dye x5", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Neverness-to-Everness/archives/593718" + }, + { + "id": "[\"nte\",\"DREAMWALK0603\"]", + "game": "nte", + "code": "DREAMWALK0603", + "reward": "Annulith x100, Rising Hunter Guide x5, Light Dye x5, Beetle Coin x4000", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Neverness-to-Everness/archives/593718" + }, + { + "id": "[\"nte\",\"TOMATO100\"]", + "game": "nte", + "code": "TOMATO100", + "reward": "Annulith x100, Senior Hunter Guide x5, Colorless Dye x5, Beetle Coin x6000", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Neverness-to-Everness/archives/593718" + }, + { + "id": "[\"nte\",\"RACENOLIMIT\"]", + "game": "nte", + "code": "RACENOLIMIT", + "reward": "Annulith x100, Elite Hunter Guide x2, Chaotic Dye x2, Beetle Coin x12000", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Neverness-to-Everness/archives/593718" + }, + { + "id": "[\"nte\",\"NTENENE\"]", + "game": "nte", + "code": "NTENENE", + "reward": "Fons x10,000, DynamiK Zero x10, Clicky Fries x10", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Neverness-to-Everness/archives/593718" + } +] diff --git a/fixtures/nte/game8-codes-2026-10-18.html b/fixtures/nte/game8-codes-2026-10-18.html new file mode 100644 index 0000000..f95b7b0 --- /dev/null +++ b/fixtures/nte/game8-codes-2026-10-18.html @@ -0,0 +1,2330 @@ +All Neverness to Everness October Redeem Codes | Neverness to Everness (NTE)|Game8 + + + + + + + + +

        What can you do as a free member?

        Member benefits illustration

        Create your free account today and unlock all our premium features and tools to enhance your gaming experience.

        Member benefits illustration

        Create your free account today and save articles to your watchlist and get notified when they're updated with new information.

        Member benefits illustration

        Create your free account today and save your favorite games for quick access later, synced across all your devices.

        Member benefits illustration

        By creating a Game8 account and logging in, you'll receive instant notifications when someone replies to your posts.

        Comment rating feature illustration

        By creating a Game8 account and logging in, you can make use of convenient features in the comments section, such as rating and sorting comments.

        Premium archive feature illustration

        By creating a Game8 account and logging in, you can access Premium articles that are exclusively available to members.

        Map tool feature illustration

        By creating a Game8 account and logging in, the items you checked on the map tool will be saved.

        Site Interface

        Guest
        Free Member
        Article Watchlist
        Game Bookmarks
        Cross-device Sync
        Light/Dark Theme Toggle
        User Profiles
        Direct Feedback
        Comment Rating
        Comment Notification
        Premium Articles

        Game Tools

        Guest
        Free Member
        Interactive Map Access
        Interactive Map Pins
        Interactive Map Comments
        Interactive Map Pins Cross-Device
        Check List
        Event Choice Checker
        Deck Builder Cross-Device
        Message Board Notification
        Message Board Cross-Device
        Build Planner
        Stat Calculator
        Diagnostic Tool
        Weapon/Armor Wishlist
        Team Builder
        Character Scoring
        Tier List Maker

        Want more information?Learn more

        Find your next guide

        Choose a game to explore its walkthrough and guides.

        +
        Neverness to Everness (NTE)

        All Neverness to Everness October Redeem Codes

        + + +Add to Watchlist (401)
        +

        ★ Version 1.4 | Redeem Codes
        ☆ Check our Best Builds and Best Team Guides!
        ★ New Esper: Blackbird (Profile/Build)
        ┗ Signature Arc: Crime and Punishment
        ☆ Tier Lists: Characters | Arcs | Cartridges |  Reroll
        ★ Game8 Best Games Survey: Vote for your favorites!

        + +

        All Redeem Codes
        These are the current active redeem codes in Neverness to Everness (NTE) in October 2026. See all active redeem codes, all expired codes, and how to redeem codes for free NTE rewards!

        + + +

        All Neverness to Everness Redeem Codes

        All Active Redeem Codes

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Redeem CodeRewards
        + + +
        Copied
        +
        +Expiry Date: TBD
        ・ + +Annulith Image Annulith + + + + + + x30
        ・ + +Fons Image Fons + + + + + + x20,000
        ・ + +Senior Hunter Guide Image Senior Hunter Guide + + + + + + x3
        + + +
        Copied
        +
        +Expiry Date: TBD
        ・ + +Heterogeneous Unit Image Heterogeneous Unit + + + + + + x20
        ・ + +Fons Image Fons + + + + + + x10,000
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x30,000
        + + +
        Copied
        +
        +Expiry Date: TBD
        ・Witch's Blessing Profile Frame x 1
        + + +
        Copied
        +
        +Expiry Date: TBD
        ・ + +Fabricated Dice Image Fabricated Dice + + + + + + x1
        + + +
        Copied
        +
        + Expiry Date: TBD
        ・ + +Annulith Image Annulith + + + + + + x30
        ・ + +Fons Image Fons + + + + + + x50,000
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x30,000
        + + +
        Copied
        +
        +Expiry Date: TBD
        ・ + +Fons Image Fons + + + + + + x10,000
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x10,000
        + + +
        Copied
        +
        +Expiry Date: TBD
        ・ + +Fons Image Fons + + + + + + x30,000
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x30,000
        + + +
        Copied
        +
        +Expiry Date: 05/13/2026
        (Expiry date passed but code is still active)
        ・ + +Annulith Image Annulith + + + + + + x50
        ・ + +Rising Hunter Guide Image Rising Hunter Guide + + + + + + x5
        ・ + +Light Dye Image Light Dye + + + + + + x5
        + + +
        Copied
        +
        +Expiry Date: 05/25/2026
        (Expiry date passed but code is still active)
        ・ + +Annulith Image Annulith + + + + + + x100
        ・ + +Rising Hunter Guide Image Rising Hunter Guide + + + + + + x5
        ・ + +Light Dye Image Light Dye + + + + + + x5
        +
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x4000
        + + +
        Copied
        +
        + Expiry Date: 05/25/2026
        (Expiry date passed but code is still active)
        ・ + +Annulith Image Annulith + + + + + + x100
        ・ + +Senior Hunter Guide Image Senior Hunter Guide + + + + + + x5
        ・ + +Colorless Dye Image Colorless Dye + + + + + + x5
        +
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x6000
        + + +
        Copied
        +
        + Expiry Date: 05/25/2026
        (Expiry date passed but code is still active)
        ・ + +Annulith Image Annulith + + + + + + x100
        ・ + +Elite Hunter Guide Image Elite Hunter Guide + + + + + + x2
        ・ + +Chaotic Dye Image Chaotic Dye + + + + + + x2
        +
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x12000
        + + +
        Copied
        +
        + Expiry Date: TBA
        ・ + +Fons Image Fons + + + + + + x10,000
        ・ + +DynamiK Zero Image DynamiK Zero + + + + + + x10
        ・ + +Clicky Fries Image Clicky Fries + + + + + + x10
        + + + + + +
        Game8 tip: sign in and use Add to Watchlist under the page title to get new code updates!
        + +

        There are currently eight active Neverness to Everness redeem codes available for October 2026.

        + +

        News and Updates

        +

        Neverness to Everness Expired Codes

        List of All Expired Redeem Codes

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Redeem CodeRewards
        + + +
        Copied
        +
        +Expiry Date: 09/20/2026
        ・ + +Annulith Image Annulith + + + + + + x100
        ・ + +Senior Hunter Guide Image Senior Hunter Guide + + + + + + x5
        ・ + +Light Dye Image Light Dye + + + + + + x5
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x4,000
        + + +
        Copied
        +
        +Expiry Date: 09/20/2026
        ・ + +Annulith Image Annulith + + + + + + x100
        ・ + +Rising Hunter Guide Image Rising Hunter Guide + + + + + + x5
        ・ + +Colorless Dye Image Colorless Dye + + + + + + x5
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x8,000
        + + +
        Copied
        +
        +Expiry Date: 09/20/2026
        ・ + +Annulith Image Annulith + + + + + + x100
        ・ + +Elite Hunter Guide Image Elite Hunter Guide + + + + + + x2
        ・ + +Chaotic Dye Image Chaotic Dye + + + + + + x5
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x12,000
        FOGDENGAME
        Expired: 08/10
        ・ + +Annulith Image Annulith + + + + + + x100
        ・ + +Rising Hunter Guide Image Rising Hunter Guide + + + + + + x5
        ・ + +Light Dye Image Light Dye + + + + + + x5
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x4,000
        EYEOFDELUSION
        Expired: 08/10
        ・ + +Annulith Image Annulith + + + + + + x100
        ・ + +Senior Hunter Guide Image Senior Hunter Guide + + + + + + x5
        ・ + +Colorless Dye Image Colorless Dye + + + + + + x5
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x6,000
        SUMMERTIME
        Expired: 08/10
        ・ + +Annulith Image Annulith + + + + + + x100
        ・ + +Elite Hunter Guide Image Elite Hunter Guide + + + + + + x5
        ・ + +Chaotic Dye Image Chaotic Dye + + + + + + x2
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x4,000
        WELCOMETONTE
        Expired: 08/18
        ・Celebration Fireworks Avatar Frame
        DRAGONGIRL
        Expired: 07/29
        ・ + +Annulith Image Annulith + + + + + + x30
        ・ + +Fons Image Fons + + + + + + x20,000
        ・Puka Chocoa Elli Tour Special x2
        IROI0729
        Expired: 6/29
        ・ + +Annulith Image Annulith + + + + + + x100
        ・ + +Elite Hunter Guide Image Elite Hunter Guide + + + + + + x2
        ・ + +Chaotic Dye Image Chaotic Dye + + + + + + x5
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x12,000
        999NIGHTS
        Expired: 6/29
        ・ + +Annulith Image Annulith + + + + + + x100
        ・ + +Senior Hunter Guide Image Senior Hunter Guide + + + + + + x5
        ・ + +Colorless Dye Image Colorless Dye + + + + + + x5
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x6,000
        SHINKU0708
        Expired: 6/29
        ・ + +Annulith Image Annulith + + + + + + x100
        ・ + +Rising Hunter Guide Image Rising Hunter Guide + + + + + + x5
        ・ + +Light Dye Image Light Dye + + + + + + x5
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x4,000
        LACRIMOSA0603
        Expired
        ・ + +Annulith Image Annulith + + + + + + x30
        ・ + +Fons Image Fons + + + + + + x20,000
        NTEFREE
        Expired: 05/13/2026
        ・ + +Fons Image Fons + + + + + + x30,000
        NTEWINFONS
        Expired: 05/13/2026
        ・ + +Fons Image Fons + + + + + + x20,000
        NTEFUNGAME
        Expired: 05/13/2026
        ・ + +Fons Image Fons + + + + + + x10,000
        NTE429vtuber
        Expired: 5/31/2026
        ・ + +Fons Image Fons + + + + + + x30,000
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x30,000
        NTENOWTOENJOY
        Expired: 5/13/2026
        ・ + +Annulith Image Annulith + + + + + + x100
        ・ + +Rising Hunter Guide Image Rising Hunter Guide + + + + + + x5
        ・ + +Light Dye Image Light Dye + + + + + + x5
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x4000
        NTENANALLYGO
        Expired: 5/13/2026
        ・ + +Annulith Image Annulith + + + + + + x100
        ・ + +Senior Hunter Guide Image Senior Hunter Guide + + + + + + x5
        ・ + +Colorless Dye Image Colorless Dye + + + + + + x5
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x6000
        NTE0429
        Expired: 5/13/2026
        ・ + +Annulith Image Annulith + + + + + + x100
        ・ + +Elite Hunter Guide Image Elite Hunter Guide + + + + + + x2
        ・ + +Chaotic Dye Image Chaotic Dye + + + + + + x2
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x12000
        504980102FKGOVNS
        Expired: 5/13/2026
        ・ + +Annulith Image Annulith + + + + + + x30
        ・ + +Gubichi Original Flavor Chips Image Gubichi Original Flavor Chips + + + + + + x1
        ・ + +Beetle Coin Image Beetle Coin + + + + + + x20,000
        NTEHAVEFUN
        Expired: 5/6/2026
        ・ + +Rising Hunter Guide Image Rising Hunter Guide + + + + + + x3
        ・ + +Light Dye Image Light Dye + + + + + + x3
        ・ + +Manhole Thug Image Manhole Thug + + + + + + x3
        + +

        The following codes have already expired and cannot be redeemed anymore. Trying to enter these codes in the redemption screen will only cause them to fail and not redeem.

        +

        How to Redeem Codes

        Redeem From the In-Game Menu

        +
        Redeem Code
        + +

        Codes can be entered into the Redeem Code option in the game's main menu.

        + +
          +
        • Log into the game.
        • +
        • Tap Menu in the top right-hand corner of the screen.
        • +
        • Tap the [...] button.
        • +
        • Select Redeem Code.
        • +
        • Enter the code.
        • +
        +

        Can Only Be Redeemed In-Game

        +

        As there is currently no redemption portal on the official website, codes must be redeemed in-game.

        +

        Neverness to Everness (NTE) Related Guides

        +
        Latest News
        + +

        Latest News and Updates

        +

        Latest News

        + +

        Versions and Patch Notes

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Version Updates
        Version 1.4Version 1.3
        Version 1.2Version 1.1
        Patch Notes and Hotfix
        September 9 Patch NotesAugust 19 Patch Notes
        July 8 Patch NotesJuly 29 Patch Notes
        June 24 Patch NotesJune 3 Patch Notes
        May 13 MaintenanceMay 1 Hotfix
        + +

        Version Updates and Patch Notes

        +

        Prerelease Info and Previous Updates

        + + + + + + + + + + + + + + + + + + + + + +
        Release Times and CountdownAll Available Platforms and Consoles
        System Requirements and Specs GuideHow to Pre-Register and Preload Guide
        NTE 1.0 Launch Rewards and How to Claim ThemNTE Unveils Collabs With Porsche and Persona 5
        NTE Announces Free S Class Selector, More Annulith at LaunchOfficial Launch Content Creation Event
        Roadmap Guide: What's Coming Next?-
        +

        Frequently Asked Questions

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Is There Multiplayer?Is There Character Creation?
        Can You Customize Characters?Is NTE Free to Play?
        Is There Crossplay?Is There Cross-Save or Cross-Progression?
        Does NTE Have Gacha?Will NTE's Gacha Have 50/50?
        Is There PvP in NTE?Is There Romance in NTE?
        Is NTE Open World?Does NTE Have Controller Support?
        How to Download Neverness to EvernessSteam Release
        Is NTE on Steam DeckServer Status and Maintenance
        +

        Comment

        44 SS24 SS24 18 days

        BLACKBIRDINNTE - 20 Heterogeneous Units · 30,000 Beetle Coins · 10,000 Fons Until Oct 21, 2026

        43 Omega Dragon Omega Dragon 19 days

        BLACKBIRDINNTE +Valid until 21 OCT 2026

        Author

          + + +

          Rankings

          +

          All rights reserved

          + + + +
          Guide Index
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          \ No newline at end of file diff --git a/fixtures/nte/game8-codes-2026-10-18.meta.json b/fixtures/nte/game8-codes-2026-10-18.meta.json new file mode 100644 index 0000000..0442a79 --- /dev/null +++ b/fixtures/nte/game8-codes-2026-10-18.meta.json @@ -0,0 +1,11 @@ +{ + "sourceId": "nte-game8-codes", + "url": "https://game8.co/games/Neverness-to-Everness/archives/593718", + "contentHash": "267dfd0bea264940784c505e3e3a32116a189c8c86d4d4118ab7269734ae3869", + "bytes": 340960, + "etag": "W/\"267dfd0bea264940784c505e3e3a3211\"", + "lastModified": null, + "contentChangedAt": "2026-10-18T02:11:08.413Z", + "lastConfirmedAt": "2026-10-18T02:11:08.413Z", + "charset": "utf-8" +} diff --git a/fixtures/p5x/game8-codes-2026-10-18.expected.json b/fixtures/p5x/game8-codes-2026-10-18.expected.json new file mode 100644 index 0000000..0075f6d --- /dev/null +++ b/fixtures/p5x/game8-codes-2026-10-18.expected.json @@ -0,0 +1,18 @@ +[ + { + "id": "[\"p5x\",\"WEBSTORE1YEAR\"]", + "game": "p5x", + "code": "WEBSTORE1YEAR", + "reward": "100 Marthym's Stamps (During Ver. 4.10 Marthym's Stamps)", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Persona-5-Phantom-X/archives/531770" + }, + { + "id": "[\"p5x\",\"WONDER\"]", + "game": "p5x", + "code": "WONDER", + "reward": "Anniversary Profile Card", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Persona-5-Phantom-X/archives/531770" + } +] diff --git a/fixtures/p5x/game8-codes-2026-10-18.html b/fixtures/p5x/game8-codes-2026-10-18.html new file mode 100644 index 0000000..0af60db --- /dev/null +++ b/fixtures/p5x/game8-codes-2026-10-18.html @@ -0,0 +1,1110 @@ +List of Codes: How to Redeem Codes | Persona 5: The Phantom X (P5X)|Game8 + + + + + + + + +

          What can you do as a free member?

          Member benefits illustration

          Create your free account today and unlock all our premium features and tools to enhance your gaming experience.

          Member benefits illustration

          Create your free account today and save articles to your watchlist and get notified when they're updated with new information.

          Member benefits illustration

          Create your free account today and save your favorite games for quick access later, synced across all your devices.

          Member benefits illustration

          By creating a Game8 account and logging in, you'll receive instant notifications when someone replies to your posts.

          Comment rating feature illustration

          By creating a Game8 account and logging in, you can make use of convenient features in the comments section, such as rating and sorting comments.

          Premium archive feature illustration

          By creating a Game8 account and logging in, you can access Premium articles that are exclusively available to members.

          Map tool feature illustration

          By creating a Game8 account and logging in, the items you checked on the map tool will be saved.

          Site Interface

          Guest
          Free Member
          Article Watchlist
          Game Bookmarks
          Cross-device Sync
          Light/Dark Theme Toggle
          User Profiles
          Direct Feedback
          Comment Rating
          Comment Notification
          Premium Articles

          Game Tools

          Guest
          Free Member
          Interactive Map Access
          Interactive Map Pins
          Interactive Map Comments
          Interactive Map Pins Cross-Device
          Check List
          Event Choice Checker
          Deck Builder Cross-Device
          Message Board Notification
          Message Board Cross-Device
          Build Planner
          Stat Calculator
          Diagnostic Tool
          Weapon/Armor Wishlist
          Team Builder
          Character Scoring
          Tier List Maker

          Want more information?Learn more

          Find your next guide

          Choose a game to explore its walkthrough and guides.

          +
          Persona 5: The Phantom X (P5X)

          List of Codes: How to Redeem Codes

          + + +Add to Watchlist (5)
          +

          ★ Version 4.11 | Version 4.2
          ┗ New Characters: Mitsuru Kirijo | Fuuka Yamagishi
          ☆ P3P Collab Event: Kotone Shiomi
          ★ Tier Lists: Characters | Personas | Rerolls
          ☆ Game8 Best Games Survey
          Vote for your favorite games and share your voice!

          + +
          Persona 5 X List of Codes and How to Redeem Codes
          + +

          Here are the list of codes for September 2026 in Persona 5: The Phantom X (P5X). Learn how to redeem codes and find out how to claim the rewards on this guide!

          + + +

          All Redeem Codes (September 2026)

          List of All Codes

          + + + + + + + + + + + + + +
          Date AddedCode & Reward
          09/24/2026
          + + +
          Copied
          +
          +
          100 Marthym's Stamps
          (During Ver. 4.10 Marthym's Stamps)
          06/25/2026
          + + +
          Copied
          +
          +
          Anniversary Profile Card
          + +

          Input the following codes to receive special rewards! Do take note that some Redeem Codes are time-sensitive, and may not work after certain conditions have passed.

          +

          How to Redeem Codes

          Select the In-Game Exchange Code in the Menu

          + + +

          Open the menu and select the Exchange Code from the options. Type or paste the code onto the text field and then select "OK" to redeem the code and get the free rewards.

          +

          Go to the Official Shop Website

          +
          P5 Phantom X - Anniversary Redeem Code
          + +

          Alternatively, players can go to the official top-up shop website of Persona 5: The Phantom X to use the Redeem Gift Codes there!

          + +

          More details of this will be available once the website and code goes live!

          +

          How to Claim Code Rewards

          Check the In-Game Mail

          +

          All redeem code rewards will go through your mail. Your mail should become available before you can even unlock the code exchange in-game.

          + +

          Current Mail Rewards: Official Mail History

          +

          Redeem Codes Rules

          Check the Redeem Code Conditions

          +

          Check the conditions for each code, like the limit and deadline for them. You won't be able to redeem the codes and get the rewards if the conditions are not met.

          +

          Redeem Codes Can Only Be Used Once

          +

          All codes can only be used once and won't be able to work once you redeem them. It means you won't get the rewards over and over again.

          +

          Some Redeem Codes Have Limits

          +

          Some of the redeem codes may have limit on them. It may be a time limit where you can only redeem it for a limited time or a redemption limit where a certain number of redeemers may only get them.

          +

          Persona 5: The Phantom X Related Guides

          +
          +Persona 5 X Main Links Partial + +Persona 5: The Phantom X Wiki + + + + + + +
          Hachikun Searching for Best Games.pngLooking for Great Games!Is Persona 5: The Phantom X one of your favorite games?
          Answer our Best Games Survey and share your unique voice with Game8's readers!
          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Persona 5: The Phantom X Wiki Contents
          P5 Phantom X - Character Partial BannerCharactersPersona 5 X Personas Partial BannerPersonas
          Persona 5 X - BannersBannersPersona 5 X - Tips and TricksTips and Tricks
          Persona 5 X - Weapons PartialWeaponsPersona 5 X - Items PartialItems
          Persona 5 X - WalkthroughsWalkthroughsP5 Phantom X - BossesBosses
          Synergy Bonds.pngSynergy BondsPersona 5 X - Palaces  Partial BannerPalaces
          Persona 5 X - Revelation CardsRevelation CardsSkills PartialSkills
          Persona 5 X Outfits PartialOutfitsPersona 5 X - EventsEvents
          Persona 5 X - NewsNewsAward.pngAwards
          +

          Recommended Guides

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Tier Lists
          Best Characters Tier ListBest Characters Tier ListBest 4-Star Characters4-Star Character Tier List
          Reroll Tier ListReroll Tier ListPersona Tier ListPersona Tier List
          Questions and Answers
          Classroom Questions and AnswersClassroom Questions and AnswersPart Time Questions and Answers LocationsPart Time Work Questions and Answers
          List of Guides
          How to RerollHow to RerollHow to Redeem CodeList of Codes: How to Redeem Codes
          Currency Guide How to Get Free CrystalsCurrency Guide: How to Get Free CrystalsBest Packs to Buy TextlessBest Packs: What to Buy in the Shop
          Best Banners to Spend On TextlessBest Banners to Pull OnP5X - Best Starting 5-Star Textless Banner Best Starting 5 Star: Who To Pick?
          Persona 5 The Phantom X - Best Team Compositions no textBest Team CompositionsPersona 5 Phantom X - Progression GuideEarly Progression Guide: Best Start
          Persona 5 The Phantom X - Best Synergies to Max Best Synergies to MaxPersona 5 X Best CognititeBest Cognitite to Get
          P5 Phantom X - Best Weapons in Selection BoxesBest Weapons in Selection BoxesP5 Phantom X - Tartarus Game Mode Top Image.pngTartarus Game Mode
          +

          Message Boards

          + + + + + + + + + +
          P5X Companio RecruitmentCompanio Recruitment BoardP5X Friend RequestFriend Request Board
          Persona 5 X Gacha Trading Board,sizeTrading Board-
          +

          Author

            +

            All rights reserved

            + + + +
            Guide Index
            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            \ No newline at end of file diff --git a/fixtures/p5x/game8-codes-2026-10-18.meta.json b/fixtures/p5x/game8-codes-2026-10-18.meta.json new file mode 100644 index 0000000..9e4d00e --- /dev/null +++ b/fixtures/p5x/game8-codes-2026-10-18.meta.json @@ -0,0 +1,11 @@ +{ + "sourceId": "p5x-game8-codes", + "url": "https://game8.co/games/Persona-5-Phantom-X/archives/531770", + "contentHash": "c9f181f535fec6f537c1b0c9d23b62bd98108200f0e02e7445abc02588f17717", + "bytes": 264985, + "etag": "W/\"c9f181f535fec6f537c1b0c9d23b62bd\"", + "lastModified": null, + "contentChangedAt": "2026-10-18T02:11:11.142Z", + "lastConfirmedAt": "2026-10-18T02:11:11.142Z", + "charset": "utf-8" +} diff --git a/fixtures/uma/game8-codes-2026-10-18.expected.json b/fixtures/uma/game8-codes-2026-10-18.expected.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/fixtures/uma/game8-codes-2026-10-18.expected.json @@ -0,0 +1 @@ +[] diff --git a/fixtures/uma/game8-codes-2026-10-18.html b/fixtures/uma/game8-codes-2026-10-18.html new file mode 100644 index 0000000..642055e --- /dev/null +++ b/fixtures/uma/game8-codes-2026-10-18.html @@ -0,0 +1,845 @@ +Umamusume Redeem Codes for October 2026|Game8 + + + + + + + + +

            What can you do as a free member?

            Member benefits illustration

            Create your free account today and unlock all our premium features and tools to enhance your gaming experience.

            Member benefits illustration

            Create your free account today and save articles to your watchlist and get notified when they're updated with new information.

            Member benefits illustration

            Create your free account today and save your favorite games for quick access later, synced across all your devices.

            Member benefits illustration

            By creating a Game8 account and logging in, you'll receive instant notifications when someone replies to your posts.

            Comment rating feature illustration

            By creating a Game8 account and logging in, you can make use of convenient features in the comments section, such as rating and sorting comments.

            Premium archive feature illustration

            By creating a Game8 account and logging in, you can access Premium articles that are exclusively available to members.

            Map tool feature illustration

            By creating a Game8 account and logging in, the items you checked on the map tool will be saved.

            Site Interface

            Guest
            Free Member
            Article Watchlist
            Game Bookmarks
            Cross-device Sync
            Light/Dark Theme Toggle
            User Profiles
            Direct Feedback
            Comment Rating
            Comment Notification
            Premium Articles

            Game Tools

            Guest
            Free Member
            Interactive Map Access
            Interactive Map Pins
            Interactive Map Comments
            Interactive Map Pins Cross-Device
            Check List
            Event Choice Checker
            Deck Builder Cross-Device
            Message Board Notification
            Message Board Cross-Device
            Build Planner
            Stat Calculator
            Diagnostic Tool
            Weapon/Armor Wishlist
            Team Builder
            Character Scoring
            Tier List Maker

            Want more information?Learn more

            Find your next guide

            Choose a game to explore its walkthrough and guides.

            +
            Umamusume: Pretty Derby

            Umamusume Redeem Codes for October 2026

            + + +Add to Watchlist (18)
            Umamusume Redeem Codes for October 2026
            + +

            Here are all the active Umamusume: Pretty Derby Codes as of October 2026. Check out this list of Umamusume codes and how to redeem them here!

            + + +

            List of Codes

            No Publicly Released Codes Yet

            +

            As of October 2026, there are no publicly released gift codes for the global version of Umamusume: Pretty Derby.

            +

            How to Redeem Codes

            Click Menu then Enter Code

            + + +

            Once you enter the game, press Menu then press Enter Code. A text box will show up where you can enter the code.

            +

            In PC, Enter Code is at Bottom Left

            +

            How to Redeem Codes in Umamusume PC Menu
            In PC, the Enter Code button will be around the bottom left area of the screen. Click Menu in the bottom right corner of the screen to show it.

            +

            Umamusume: Pretty Derby Related Guides

            +

            Umamusume Pretty Derby
            Umamusume: Pretty Derby Wiki Front

            + + + + + + +
            +Hachikun Searching for Best Games.pngLooking for Great Games! +Is Umamusume: Pretty Derby one of your favorite games?
            Answer our Best Games Survey and share your unique voice with Game8's readers!
            +

            Guides by Category

            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            Umamusume: Pretty Derby Categories
            Umamusume Pretty Derby - Stories StoryCareer Banner.pngCareer Mode
            Umamusume Pretty Derby - Races RacesBanners Banners
            Characters CharactersUmamusume Tips and Tricks Guides Tips and Tricks
            Umamusume Pretty Derby - News NewsSupport Cards Support Cards
            Skills SkillsGame Modes.pngGame Modes
            Events and Choices Partial Banner Events and ChoicesChampions Meeting Partial Banner Champions Meeting
            Items ItemsReview Partial Banner.pngReview
            +

            Premium Guides

            + + + + +
            +Premium Partial Banner +
            +Sign up for a free membership or Log in to read these premium articles! +
            + +

            List of All Premium Articles

            +
            ## List of Recommended Guides + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            Premium Articles
            State of the Meta (Grand Live)State of the Meta (Grand Live)The Future of Pace Chasers (Supports)The Future of Pace Chasers (Supports)
            The Future of Pace Chasers (Characters)The Future of Pace Chasers (Characters)Grandmasters Banner BreakdownGrandmasters Banner Breakdown
            CM Look Ahead: CM21-22CM Look Ahead: CM21-CM22The Future of Late Surger (Supports)The Future of Late Surger (Supports)
            Can You Beat Class 6 with R CardsCan You Beat Class 6 with R Cards?The Future of Late Surger CharactersThe Future of Late Surger (Characters)
            Recommended Guides
            Best Characters Tier ListBest Character (Trainee) Tier ListBest Support Cards Tier ListBest Support Cards Tier List
            Best Skills Tier ListBest Skills Tier ListReroll Tier ListReroll Tier List
            URA Finale CareerURA Finale Scenario GuideFriend ID Sharing BoardFriend ID Sharing Board
            Upcoming Characters and Support CardsUpcoming Characters and Support Cards +Event Choice CheckerEvent Choice Checker +
            Support Card Build SimulatorSupport Card Comparison Tool +Umamusume Redeem CodesUmamusume Redeem Codes +
            Character Tier List MakerCharacter Tier List Maker +Support Card Tier List MakerSupport Card Tier List Maker +
            Trainer Aptitude TestTrainer Aptitude TestRacing Carnival BannerRacing Carnival Guide
            Umamusume - Aim for the Stars! Dream Team.pngAim for the Stars! Dream Team Scouting Event +Umamusume - Stat Cap Increase Guide Stat Cap increase Guide +
            +Umamusume - How to Get UG RankHow to Get UG Rank + +Umamusume - Independent Training GuideIndependent Training Guide +
            +

            Author

              +

              All rights reserved

              + + + +
              Guide Index
              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              \ No newline at end of file diff --git a/fixtures/uma/game8-codes-2026-10-18.meta.json b/fixtures/uma/game8-codes-2026-10-18.meta.json new file mode 100644 index 0000000..02da314 --- /dev/null +++ b/fixtures/uma/game8-codes-2026-10-18.meta.json @@ -0,0 +1,11 @@ +{ + "sourceId": "uma-game8-codes", + "url": "https://game8.co/games/Umamusume-Pretty-Derby/archives/536130", + "contentHash": "725f227c7557e254c80225bee0ad4fc41565adf13cd1f07cbacfa7e614f7ac88", + "bytes": 233063, + "etag": "W/\"725f227c7557e254c80225bee0ad4fc4\"", + "lastModified": null, + "contentChangedAt": "2026-10-18T02:11:16.036Z", + "lastConfirmedAt": "2026-10-18T02:11:16.036Z", + "charset": "utf-8" +} diff --git a/fixtures/wuwa/game8-codes-2026-10-18.expected.json b/fixtures/wuwa/game8-codes-2026-10-18.expected.json new file mode 100644 index 0000000..64d6dc5 --- /dev/null +++ b/fixtures/wuwa/game8-codes-2026-10-18.expected.json @@ -0,0 +1,10 @@ +[ + { + "id": "[\"wuwa\",\"WUTHERINGGIFT\"]", + "game": "wuwa", + "code": "WUTHERINGGIFT", + "reward": "Astrite x50 Premium Resonance Potion x2 Medium Revival Inhaler x2 Medium Energy Bag x2 Shell Credit x15,000", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Wuthering-Waves/archives/453149" + } +] diff --git a/fixtures/wuwa/game8-codes-2026-10-18.html b/fixtures/wuwa/game8-codes-2026-10-18.html new file mode 100644 index 0000000..d6187ca --- /dev/null +++ b/fixtures/wuwa/game8-codes-2026-10-18.html @@ -0,0 +1,4773 @@ +All Codes for Wuthering Waves (WuWa) as of October 2026|Game8 + + + + + + + + +

              What can you do as a free member?

              Member benefits illustration

              Create your free account today and unlock all our premium features and tools to enhance your gaming experience.

              Member benefits illustration

              Create your free account today and save articles to your watchlist and get notified when they're updated with new information.

              Member benefits illustration

              Create your free account today and save your favorite games for quick access later, synced across all your devices.

              Member benefits illustration

              By creating a Game8 account and logging in, you'll receive instant notifications when someone replies to your posts.

              Comment rating feature illustration

              By creating a Game8 account and logging in, you can make use of convenient features in the comments section, such as rating and sorting comments.

              Premium archive feature illustration

              By creating a Game8 account and logging in, you can access Premium articles that are exclusively available to members.

              Map tool feature illustration

              By creating a Game8 account and logging in, the items you checked on the map tool will be saved.

              Site Interface

              Guest
              Free Member
              Article Watchlist
              Game Bookmarks
              Cross-device Sync
              Light/Dark Theme Toggle
              User Profiles
              Direct Feedback
              Comment Rating
              Comment Notification
              Premium Articles

              Game Tools

              Guest
              Free Member
              Interactive Map Access
              Interactive Map Pins
              Interactive Map Comments
              Interactive Map Pins Cross-Device
              Check List
              Event Choice Checker
              Deck Builder Cross-Device
              Message Board Notification
              Message Board Cross-Device
              Build Planner
              Stat Calculator
              Diagnostic Tool
              Weapon/Armor Wishlist
              Team Builder
              Character Scoring
              Tier List Maker

              Want more information?Learn more

              Find your next guide

              Choose a game to explore its walkthrough and guides.

              +
              Wuthering Waves (WuWa)

              All Codes for Wuthering Waves (WuWa) as of October 2026

              + + +Add to Watchlist (440)
              +

              ★ Version 3.7 Details is Out! ← Best Pull Strategy
              ┗ New: Hsin Builds | Rerun: Iuno, Chisa
              ★ New Map: Simulacrum Nexus | All Rafter Kites
              ★ Share Your Codes in Back to Solaris!
              ★ Upcoming: Version 3.8 | New Character: Lily
              ★ 3.5 State of the Meta | 3.6 Player Report

              + +
              Wuthering Waves - Redeem Codes
              + +

              Here are all active codes in Wuthering Waves as of October 2026 during Version 3.7. Check out this list of the newest redeem codes including livestream codes, learn if there is a code redeem site, as well as how to use them for free Astrite, and other WuWa gifts in this guide.

              + + + + + + +
              Yangyang Attention IconAttention!This page will be updated as soon as new redeem code information is available!
              Sign in and select Add to Watchlist under the page's title to be notified of any updates!
              + + +

              Wuthering Waves All Active Codes

              Solaris Starry Stage Codes (2026)

              + + + + + + + +

              + +





              + + +
              Copied
              +
              +
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x80
              +
              + + +
              Copied
              +
              +
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x80
              +
              The codes above have expired.

              + +

              STARRYSTAGE2 and KEEPONSHINING were the two redeem codes announced during the Solaris Starry Stage livestream of Wuthering Waves! Unfortunately, the codes have expired since October 13, 2026 at 08:59AM UTC-7 so hopefully you claimed it in time!

              + + +## List of All Active Redeem Codes + + +### Starter Redeem Code + + + + + + + + +
              All Active Code(s)
              + + +
              Copied
              +
              +
              +
              + +Astrite Astrite + + + + +x50
              + +
              + +Medium Revival Inhaler Medium Revival Inhaler + + + + +x2
              +
              + +Medium Energy Bag Medium Energy Bag + + + + +x2
              +
              + +Shell Credit Shell Credit + + + + +x15,000
              +
              + +
                +
              • WUTHERINGGIFT - 50 Astrite, 2 Premium Resonance Potions, 2 Medium Revival Inhalers, 2 Medium Energy Bags, 15000 Shell Credits
              • +
              + +

              So far, WUTHERINGGIFT code is the only permanently active code for Wuthering Waves. However, Kuro Games is known to host livestreams before a new Version update that gives away three livestream codes so keep an eye out for that!

              +

              How to Redeem Wuthering Waves Codes

              Use the Redeem Function Found in the Game Settings

              +
              Wuthering Waves - Accessing the Code Redemption Menu
              + +
                +
              1. Open the settings and go to "Other Settings"
              2. +
              3. Use the "Redemption Code" feature
              4. +
              5. Enter your redeem code and confirm
              6. +
              7. Open your mailbox to claim the rewards
              8. +
              + +

              Go to Wuthering Waves' "Other Settings", type in your active redeem code, and confirm. A pop-up will appear to let you know if your code was claimed successfully. The rewards will then be sent over to your in-game mailbox.

              +

              Claim the Code Rewards Immediately

              +

              Wuthering Waves - Redemption Code in Inbox
              The mail containing the redeem code rewards will automatically be deleted after two weeks, so you should claim the goods as soon as you can!

              +

              Wuthering Waves Code Redeem Site

              Wuthering Waves Has No Redeem Site

              +

              Wuthering Waves has not implemented a redeem site for you to enter your codes. You can only redeem codes in-game by heading to "Other Settings" and using the Redemption Code feature there.

              + +

              We will be updating this section if Kuro Games decides to add a Redeem Code feature in their website, so stay tuned!

              +

              List of Expired Redeem Codes

              All Expired Redeem Codes

              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              Expired Codes and Past Rewards
              + FALLINGSANCTUM
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Premium Resonance Potion Icon Premium Resonance Potion + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Advanced Revival Inhaler Icon Advanced Revival Inhaler + + + + + + + + + + + x2
              +
              + FINDSENTINEL
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Premium Enclosure Tank Icon Premium Enclosure Tank + + + + + + + + + + + III x2
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x40,000
              +
              + WAKINGMOON
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Premium Tuner Icon Premium Tuner + + + + + + + + + + + x20
              +
              + +Wuthering Waves- Advanced Sealed Tube Icon Advanced Sealed Tube + + + + + + + + + + + x5
              +
              + F5F4D3B2A2
              + +
              + HEARTOFSWORD
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Resonance Potion Icon Advanced Resonance Potion + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Medium Revival Inhaler Icon Medium Revival Inhaler + + + + + + + + + + + x2
              +
              + ETERNALFLAME
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Energy Core Icon Advanced Energy Core + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Medium Nutrient Block Icon Medium Nutrient Block + + + + + + + + + + + x2
              +
              + THEANSWER
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Enclosure Tank Icon Advanced Enclosure Tank + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x20,000
              +
              + MECHANISMCITY
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Premium Resonance Potion Icon Premium Resonance Potion + + + + + + + + + + + x4
              +
              + +Wuthering Waves- Advanced Energy Core Icon Advanced Energy Core + + + + + + + + + + + x5
              +
              + INTOTHEFOG
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Forgery Premium Supply Icon Forgery Premium Supply + + + + + + + + + + + II x3
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x20,000
              +
              + REUNION
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Premium Tuner Icon Premium Tuner + + + + + + + + + + + x20
              +
              + +Wuthering Waves- Advanced Sealed Tube Icon Advanced Sealed Tube + + + + + + + + + + + x5
              +
              + SAYCHEESE
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Enclosure Tank Icon Advanced Enclosure Tank + + + + + + + + + + + II x3
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x20,000
              +
              + BEYONDTHEDOOR
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Energy Core Icon Advanced Energy Core + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Medium Nutrient Block Icon Medium Nutrient Block + + + + + + + + + + + x2
              +
              + STRANGEVISITORS
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Resonance Potion Icon Advanced Resonance Potion + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Medium Revival Inhaler Icon Medium Revival Inhaler + + + + + + + + + + + x2
              +
              + FACEALEPH1
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Premium Resonance Potion Icon Premium Resonance Potion + + + + + + + + + + + x4
              +
              + +Wuthering Waves- Advanced Energy Core Icon Advanced Energy Core + + + + + + + + + + + x5
              + +
              + 2NDANNIVERSARY
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              Forgery Premium Supply Forgery Premium Supply II x2
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x40,000
              +
              + EVERSHINE
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Premium Tuner Icon Premium Tuner + + + + + + + + + + + x20
              +
              + +Wuthering Waves- Premium Sealed Tube Icon Premium Sealed Tube + + + + + + + + + + + x5
              +
              + DARKSIDE
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Resonance Potion Icon Advanced Resonance Potion + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Medium Revival Inhaler Icon Medium Revival Inhaler + + + + + + + + + + + x5
              + +
              + RABBITHOLE
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Energy Core Icon Advanced Energy Core + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Medium Nutrient Block Icon Medium Nutrient Block + + + + + + + + + + + x2
              +
              + RUNEREADER
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              Advanced Enclosure TankAdvanced Enclosure Tank II x3
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x20,000
              +
              + SOLARISSUPERCUP
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x80
              + +
              + FASTERHIGHERSTRONGER
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x80
              +
              + PAPERPLANE
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Premium Resonance Potion Icon Premium Resonance Potion + + + + + + + + + + + x4
              +
              + +Wuthering Waves- Advanced Energy Core Icon Advanced Energy Core + + + + + + + + + + + x5
              + +
              + WARMSUNLIGHT
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + + + + + +Wuthering Waves- Premium Enclosure Tank II Icon Premium Enclosure Tank II + + + + + + + x4
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x40,000
              +
              + JOURNEYWELL
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              Forgery Premium SupplyForgery Premium Supply II x2
              +
              + +Wuthering Waves- Advanced Sealed Tube Icon Advanced Sealed Tube + + + + + + + + + + + x2
              +
              + BACKTOSCHOOL
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Premium Resonance Potion Icon Premium Resonance Potion + + + + + + + + + + + x4
              +
              + +Wuthering Waves- Advanced Energy Core Icon Advanced Energy Core + + + + + + + + + + + x5
              + +
              + HITTHEROAD
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Forgery Premium Supply Icon Forgery Premium Supply + + + + + + + + + + + x2
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x40,000
              +
              + STARCHASER
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Premium Tuner Icon Premium Tuner + + + + + + + + + + + x20
              +
              + +Wuthering Waves- Advanced Sealed Tube Icon Advanced Sealed Tube + + + + + + + + + + + x5
              +
              + ENDLESSSUMMER
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Premium Resonance Potion Icon Premium Resonance Potion + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Medium Revival Inhaler Icon Medium Revival Inhaler + + + + + + + + + + + x2
              +
              + CRUMBLEDCITY
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Energy Core Icon Advanced Energy Core + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Medium Nutrient Block Icon Medium Nutrient Block + + + + + + + + + + + x2
              +
              + SLICEDSPACE
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Enclosure Tank Icon Advanced Enclosure Tank + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x20,000
              +
              + NOMATTERTHECOST
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Resonance Potion Icon Advanced Resonance Potion + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Medium Revival Inhaler Icon Medium Revival Inhaler + + + + + + + + + + + x2
              +
              + RISKEVERYTHING
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Energy Core Icon Advanced Energy Core + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Medium Nutrient Block Icon Medium Nutrient Block + + + + + + + + + + + x2
              +
              + FIGHTFORHOPE
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Enclosure Tank Icon Advanced Enclosure Tank + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x20,000
              +
              + BURNINGSUN
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Premium Resonance Potion Icon Premium Resonance Potion + + + + + + + + + + + x4
              +
              + +Wuthering Waves- Advanced Energy Core Icon Advanced Energy Core + + + + + + + + + + + x5
              +
              + MOONLIGHT
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Forgery Premium Supply Icon Forgery Premium Supply + + + + + + + + + + + x2
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x40,000
              +
              + FACETHEFATE
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Premium Tuner Icon Premium Tuner + + + + + + + + + + + x20
              +
              + +Wuthering Waves- Advanced Sealed Tube Icon Advanced Sealed Tube + + + + + + + + + + + x5
              +
              + THISISFINALE
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Enclosure Tank Icon Advanced Enclosure Tank + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x20,000
              +
              + DREAMSPERSIST
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Energy Core Icon Advanced Energy Core + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Medium Nutrient Block Icon Medium Nutrient Block + + + + + + + + + + + x5
              +
              + ILLUSIONHAUNTS
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Resonance Potion Icon Advanced Resonance Potion + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Medium Revival Inhaler Icon Medium Revival Inhaler + + + + + + + + + + + x5
              +
              + SOLARISSEASIDESTORY
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x90
              +
              + SUMMERSHALLNOTFADE
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x90
              +
              + SHADOWOFGLORY
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Premium Resonance Potion Icon Premium Resonance Potion + + + + + + + + + + + x4
              +
              + +Wuthering Waves- Advanced Energy Core Icon Advanced Energy Core + + + + + + + + + + + x5
              +
              + FLAMESOFHEART
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Forgery Premium Supply Icon Forgery Premium Supply + + + + + + + + + + + x2
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x40,000
              +
              + AGONISON
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Weekly Challenge Supply Pack Icon Weekly Challenge Supply Pack + + + + + + + + + + + x1
              +
              + +Wuthering Waves- Advanced Sealed Tube Icon Advanced Sealed Tube + + + + + + + + + + + x2
              +
              + 1STANNIVERSARY
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Premium Resonance Potion Icon Premium Resonance Potion + + + + + + + + + + + x4
              +
              + +Wuthering Waves- Advanced Energy Core Icon Advanced Energy Core + + + + + + + + + + + x5
              +
              + EVERFLOWING
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Forgery Premium Supply Icon Forgery Premium Supply + + + + + + + + + + + x2
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x40,000
              +
              + WITHYOU
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Premium Tuner Icon Premium Tuner + + + + + + + + + + + x20
              +
              + +Wuthering Waves- Advanced Sealed Tube Icon Advanced Sealed Tube + + + + + + + + + + + x5
              +
              + WUWA4PC
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x50
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x20,000
              +
              + DCARD3VN7M
              +
              + +Wuthering Waves- Medium Resonance Potion Icon Medium Resonance Potion + + + + + + + + + + + x5
              +
              + +Wuthering Waves- Medium Energy Core Icon Medium Energy Core + + + + + + + + + + + x5
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x500
              +
              + BAHAMUTKXMHM
              +
              + +Wuthering Waves- Medium Resonance Potion Icon Medium Resonance Potion + + + + + + + + + + + x5
              +
              + +Wuthering Waves- Medium Energy Core Icon Medium Energy Core + + + + + + + + + + + x5
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x500
              +
              + IMPERATOR
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Resonance Potion Icon Advanced Resonance Potion + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Medium Revival Inhaler Icon Medium Revival Inhaler + + + + + + + + + + + x2
              +
              + LEVIATHAN
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Energy Core Icon Advanced Energy Core + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Medium Nutrient Block Icon Medium Nutrient Block + + + + + + + + + + + x2
              +
              + WHOAMI
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Enclosure Tank Icon Advanced Enclosure Tank + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x20,000
              +
              + TREASUREHUNT
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Resonance Potion Icon Advanced Resonance Potion + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Medium Revival Inhaler Icon Medium Revival Inhaler + + + + + + + + + + + x2
              +
              + VAULTOPS
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Energy Core Icon Advanced Energy Core + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Medium Nutrient Block Icon Medium Nutrient Block + + + + + + + + + + + x2
              +
              + SETSAIL
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + +Wuthering Waves- Advanced Enclosure Tank Icon Advanced Enclosure Tank + + + + + + + + + + + x3
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x20,000
              +
              + STARRYSTAGE
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x80
              +
              + +Wuthering Waves- Advanced Resonance Potion Icon Advanced Resonance Potion + + + + + + + + + + + x5
              +
              + +Wuthering Waves- Advanced Enclosure Tank Icon Advanced Enclosure Tank + + + + + + + + + + + x5
              +
              + ALLEYESONUS
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x80
              +
              + +Wuthering Waves- Advanced Resonance Potion Icon Advanced Resonance Potion + + + + + + + + + + + x5
              +
              + +Wuthering Waves- Shell Credit Icon Shell Credit + + + + + + + + + + + x50,000
              +
              + BLACKSHORES
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + SHOREKEEPER
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              + FORYOU
              +
              + +Wuthering Waves- Astrite Icon Astrite + + + + + + + + + + + x100
              +
              +

              Expired Promotional Codes

              Epic Games Store Code

              +

              Players who have Wuthering Waves via Epic Games Store were able to redeem a free Echo Starter Pack containing an Incomplete Echo (gives a random Echo) and Echo enhancement materials.

              + +

              The freebie was available only until 6/23 11:59 am EDT.

              + + + + + + + + + + +
              Add-OnsRewards
              Echo Starter Pack +
              + +Premium Tuner Premium Tuner + + + + + x10
              +
              + +Advanced Sealed Tube Advanced Sealed Tube + + + + + x5
              +
              Incomplete Echo x5
              + +
              +

              Twitch Redeem Code

              +

              A Waking of the World bundle was unlockable by subscribing to two Twitch channels playing Wuthering Waves, or by gifting two subs as they play the game. Players that did so were gifted a unique redemption code via Twitch inbox.

              + +

              This item was only available until June 23, 2024.

              + + + + + + + + + + +
              Add-OnsRewards
              Waking of the World Pack +
              + +Astrite Astrite + + + + + x100
              +
              + +Shell Credit Shell Credit + + + + + x10,000
              + +
              + +Advanced Resonance Potion Advanced Resonance Potion + + + + + x10
              +
              + +Advanced Energy Core Advanced Energy Core + + + + + x10
              +
              + +

              Are There Twitch Drops for Wuthering Waves?

              +

              Wuthering Waves Related Guides

              +
              Wuthering Waves - News and Updates
              + +

              Latest News and Updates

              +

              Latest Version Update

              Version 3.7 is Live!

              + + + + + + + + +
              Version 3.7 Promotional ImagePrism's Illusion, Heart's Illumination
              Ver. 3.7
              Schedule
              September 30, 2026 - November 12, 2026
              43 days
              + +

              3.7 Banners, Release Date, and Summary

              +

              Version 3.7 Characters

              + + + + + + + + + + + + +
              3.7 Featured Resonators
              Part 1
              (Sept. 30 - Oct. 22, 2026)
              +
              Hsin IconHsin NEW
              + + +
              Part 2
              (Oct. 22 - Nov. 11, 2026)
              +
              Suoming IconSuoming NEW
              + + +
              + +

              All Current and Next Banners (Gacha)

              +

              Version 3.7 Weapons

              + + + + + + + + + + + + +
              3.7 Featured Weapons
              Part 1
              (Sept. 30 - Oct. 22, 2026)
              + + + +
              Part 2
              (Oct. 22 - Nov. 11, 2026)
              + + + +
              + +

              List of All Weapons

              +

              Version 3.7 Banners

              + + + + + + + + + + + + + + + + + +
              Character Banners (Phase 1)
              (September 30, 2026 - October 22, 2026)
              Hsin BannerHsin Banner NEWChisa BannerChisa Rerun BannerIuno BannerIuno Rerun Banner
              Character Banners (Phase 2)
              (October 22, 2026 - November 11, 2026)
              Suoming BannerSuoming Banner NEWLynae BannerLynae Rerun BannerLucilla BannerLucilla Rerun Banner
              +

              All Version Updates

              Version 3.0 Updates

              + + + + + + + + + + + + + + + + + + + + +
              Version 3.0 Updates
              Version 3.0Version 3.1
              Version 3.2Version 3.3
              Version 3.4Version 3.5
              Version 3.6Version 3.7
              + +

              +

              All Livestream Summary Articles

              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              1.01.32.02.1
              2.22.32.42.5
              2.62.72.83.0
              3.13.23.33.4
              3.53.63.7
              +

              Latest News and Updates

              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              News and Updates
              All Codes and How to Redeem
              Release Date and LaunchAvailable Platforms
              Maintenance Schedule Start and End TimeVersion Preload Information
              How to DownloadSystem Requirements and File Size
              Controller Support for PC and MobilePre-Registration Guide and Rewards
              Differences from Punishing: Gray RavenDifferences From Genshin Impact
              May 19 Reveal Livestream SummaryAge Verification Bug
              Is Wuthering Waves on PS5?Best Free Standard 5-Star Character To Get
              Mac Release DateIs Wuthering Waves on Xbox?
              2.7 Character Locations and Interactions2.8 Astrite Count and Total Pulls
              When is WuWa Anniversary 2026?Should You Watch Cyberpunk Edgerunners for the Collab?
              Wuthering Waves World Tour 2026 InfoHow to Create a Kuro Games Account
              WuWa Optimization Updates-
              +

              Wuthering Waves Collaborations

              + + + + + + + + + + + + + +
              Wuthering Waves - Wuthering Waves Tappo GuideWuWa Tappo
              (Upcoming)
              Cyberpunk Collab InfoCyberpunk
              (Ended)
              Persona Sonic Collab EventPersona Sonic
              (Ended)
              Wuthering Waves - Muse Dash CollabMuse Dash
              (Ended)
              Escape from Duckov CollabEscape from Duckov
              (Ended)
              -
              +

              Character and Location Lore

              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              CamellyaGeshu LinBuling
              CartethyiaAvidiusAngel
              ImperatorMyaScar
              PhrolovaCristoforoThe Grand Architect
              ThrenodiansSentinelsAbraxas (Abby)
              SumikaSpacetrek CollectivePink-Haired Girl
              MingtingJourneying ParadiseNew Federation
              Startorch AcademyVoid StormAshinohara
              DhalifaExostrider
              + +

              Lore and Locations

              +

              Comment

              25 Anonymous Anonymous 4 months

              Ykrvne sb5h connector

              24 Anonymous Anonymous 7 months

              Author

                +

                All rights reserved

                + + + +
                Guide Index
                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                \ No newline at end of file diff --git a/fixtures/wuwa/game8-codes-2026-10-18.meta.json b/fixtures/wuwa/game8-codes-2026-10-18.meta.json new file mode 100644 index 0000000..98dcb0e --- /dev/null +++ b/fixtures/wuwa/game8-codes-2026-10-18.meta.json @@ -0,0 +1,11 @@ +{ + "sourceId": "wuwa-game8-codes", + "url": "https://game8.co/games/Wuthering-Waves/archives/453149", + "contentHash": "fe94a2655b0d24f52f624bb5bd3a8ff52977ce232093316f6e0d508a4dc9ad52", + "bytes": 509899, + "etag": "W/\"fe94a2655b0d24f52f624bb5bd3a8ff5\"", + "lastModified": null, + "contentChangedAt": "2026-10-18T02:11:04.080Z", + "lastConfirmedAt": "2026-10-18T02:11:04.080Z", + "charset": "utf-8" +} diff --git a/fixtures/zzz/game8-codes-2026-10-18.expected.json b/fixtures/zzz/game8-codes-2026-10-18.expected.json new file mode 100644 index 0000000..0b924b2 --- /dev/null +++ b/fixtures/zzz/game8-codes-2026-10-18.expected.json @@ -0,0 +1,34 @@ +[ + { + "id": "[\"zzz\",\"ZZZVOID32\"]", + "game": "zzz", + "code": "ZZZVOID32", + "reward": "Polychrome x20 Denny x2222", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Zenless-Zone-Zero/archives/435683" + }, + { + "id": "[\"zzz\",\"ZZZINK32\"]", + "game": "zzz", + "code": "ZZZINK32", + "reward": "Polychrome x20 Denny x2222", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Zenless-Zone-Zero/archives/435683" + }, + { + "id": "[\"zzz\",\"ZZZGRIND32\"]", + "game": "zzz", + "code": "ZZZGRIND32", + "reward": "Polychrome x20 Denny x2222", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Zenless-Zone-Zero/archives/435683" + }, + { + "id": "[\"zzz\",\"ZENLESSGIFT\"]", + "game": "zzz", + "code": "ZENLESSGIFT", + "reward": "Polychrome x50 Official Investigator Log x2 W-Engine Power Supply x3 Bangboo Algorithm Module x1", + "expiresAt": null, + "sourceUrl": "https://game8.co/games/Zenless-Zone-Zero/archives/435683" + } +] diff --git a/fixtures/zzz/game8-codes-2026-10-18.html b/fixtures/zzz/game8-codes-2026-10-18.html new file mode 100644 index 0000000..172f418 --- /dev/null +++ b/fixtures/zzz/game8-codes-2026-10-18.html @@ -0,0 +1,2891 @@ +Zenless Zone Zero Codes in October 2026 | Zenless Zone Zero (ZZZ)|Game8 + + + + + + + + +

                What can you do as a free member?

                Member benefits illustration

                Create your free account today and unlock all our premium features and tools to enhance your gaming experience.

                Member benefits illustration

                Create your free account today and save articles to your watchlist and get notified when they're updated with new information.

                Member benefits illustration

                Create your free account today and save your favorite games for quick access later, synced across all your devices.

                Member benefits illustration

                By creating a Game8 account and logging in, you'll receive instant notifications when someone replies to your posts.

                Comment rating feature illustration

                By creating a Game8 account and logging in, you can make use of convenient features in the comments section, such as rating and sorting comments.

                Premium archive feature illustration

                By creating a Game8 account and logging in, you can access Premium articles that are exclusively available to members.

                Map tool feature illustration

                By creating a Game8 account and logging in, the items you checked on the map tool will be saved.

                Site Interface

                Guest
                Free Member
                Article Watchlist
                Game Bookmarks
                Cross-device Sync
                Light/Dark Theme Toggle
                User Profiles
                Direct Feedback
                Comment Rating
                Comment Notification
                Premium Articles

                Game Tools

                Guest
                Free Member
                Interactive Map Access
                Interactive Map Pins
                Interactive Map Comments
                Interactive Map Pins Cross-Device
                Check List
                Event Choice Checker
                Deck Builder Cross-Device
                Message Board Notification
                Message Board Cross-Device
                Build Planner
                Stat Calculator
                Diagnostic Tool
                Weapon/Armor Wishlist
                Team Builder
                Character Scoring
                Tier List Maker

                Want more information?Learn more

                Find your next guide

                Choose a game to explore its walkthrough and guides.

                +
                Zenless Zone Zero (ZZZ)

                Zenless Zone Zero Codes in October 2026

                + + +Add to Watchlist (267)
                +

                ▶︎ Check out the new 3.2 Player Survey!
                ☆ 3.3 Next: 3.3 Livestream, Phoenix, & Severian
                ★ 3.2 Phase 1: Claret & Nangong Yu
                ☆ 3.2 Phase 2: Roxy & Promeia
                ★ Redeem Codes for free Polychromes!
                ☆ Tier Lists: Agents | W-Engines | Bangboos | Teams

                + +
                Zenless Zone Zero All Zenless Zone Zero Codes in October 2026
                + +

                See the list of Zenless Zone Zero Redeem Codes that can be redeemed as of 3.2 on October 2026 and how to use the codes at the redemption code site in this Zenless Zone Zero (ZZZ) guide!

                + + +

                Active Zenless Zone Zero Code (October 2026)

                All ZZZ Codes for 3.2 October 2026

                + + + + + + + + + + + + + + + + + + + + + +
                CodeRewards
                +
                + + +
                Copied
                +
                + + Redeem via Website +
                +
                + +Polychrome Polychrome + + + + + x20
                +
                + +Denny Denny + + + + + x2222
                +
                +
                + + +
                Copied
                +
                + + Redeem via Website +
                +
                + +Polychrome Polychrome + + + + + x20
                +
                + +Denny Denny + + + + + x2222
                +
                +
                + + +
                Copied
                +
                + + Redeem via Website +
                +
                + +Polychrome Polychrome + + + + + x20
                +
                + +Denny Denny + + + + + x2222
                +
                +
                + + +
                Copied
                +
                + + Redeem via Website +
                +
                + +Polychrome Polychrome + + + + + x50
                + +
                + +W-Engine Power Supply W-Engine Power Supply + + + + + x3
                +
                + +Bangboo Algorithm Module Bangboo Algorithm Module + + + + + x1
                +
                + +

                Some codes that have the same rewards are alternative codes. If you redeem any of them, it will mark the others as redeemed or already in use.

                +

                All ZZZ 3.3 Codes

                Version 3.3 Livestream Codes

                + + + + + + + + + +
                3.3 CodeRewards
                +
                + + +
                Copied
                +
                + + Redeem via Website +
                +
                + +Polychrome Polychrome + + + + + x300
                +
                + +Senior Investigator Log Senior Investigator Log + + + + + x2
                +
                + +W-Engine Energy Module W-Engine Energy Module + + + + + x3
                +
                + +Denny Denny + + + + + x30,000
                +
                + +


                JRNY2SKY is the only code that was revealed during the Zenless Zone Zero 3.3 Livestream. This code expired on October 11, 2026 at 11:59 PM (UTC+8).

                + +

                3.3 Livestream Release Date and Summary

                +

                How to Redeem Codes

                +

                There are two ways to redeem Zenless Zone Zero gift codes. The easiest way to redeem the codes is through the official redemption code center, but you can also redeem codes with the game's built-in function.

                +

                Redeem Codes on the Official Site

                +
                ZZZ - Redeem Code Site
                + +
                  +
                1. Go to the official redemption site.
                2. +
                3. Log into your account.
                4. +
                5. Select your account's region.
                6. +
                7. Input the redeem code and click ''Redeem''.
                8. +
                9. Claim rewards fromyour in-game mail.
                10. +
                + +

                The quickest way to redeem codes is by using Zenless Zone Zero's official code redemption site. You only have to sign up and input active codes to redeem your rewards. The freebies should show up in your in-game mail pretty quickly!

                + +

                Go to the Redemption Code Site

                +

                Redeem Codes in the ''More'' Menu

                +
                ZZZ - Redeem Codes in the More Menu
                + +
                  +
                1. Open the menu and click on the ''More'' tab
                2. +
                3. Click on the ''Redemption Code'' feature
                4. +
                5. Input your Redeem Code and click ''Redeem''
                6. +
                7. Go back to ''More'' and claim rewards from the Mail
                8. +
                + +

                You can also redeem codes with the game's built-in redemption code feature! Just look for the ''More'' tab in the in-game settings, and use the ''Redemption Code'' feature. The rewards are delivered to your in-game mail, which is found in the ''More'' tab too!

                +

                All Expired ZZZ Codes

                List of Expired ZZZ Redeem Codes

                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                CodeRewards
                ZZZ2YEAR + +
                + +Polychrome Polychrome + + + + + x50
                +
                ZZZ31REMIELLE + +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x6666
                +
                REMIELLE0729 +
                + +Polychrome Polychrome + + + + + x120
                +
                ZZZDREAMLAND +
                + +Polychrome Polychrome + + + + + x30
                +
                ROSCAELIFER0617 +
                + +Polychrome Polychrome + + + + + x30
                +
                ZZZSEASON3 +
                + +Polychrome Polychrome + + + + + x50
                +
                ZZZ30BANGBOO +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x6666
                +
                ZZZSTEAM +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Senior Investigator Log Senior Investigator Log + + + + + x2
                +
                + +W-Engine Energy Module W-Engine Energy Module + + + + + x2
                +
                + +Denny Denny + + + + + x666
                +
                ZZZSUSHIRO +
                + +Senior Investigator Log Senior Investigator Log + + + + + x3
                +
                + +Denny Denny + + + + + x30,000
                +
                ZZZ28HERO +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x6,666
                +
                zzzCuteness +
                + +W-Engine Energy Module W-Engine Energy Module + + + + + x1
                +
                + +Denny Denny + + + + + x20,000
                +
                ZZZ27CHAMPION +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x6,666
                +
                ZZZGIGO +
                + +W-Engine Energy Module W-Engine Energy Module + + + + + x1
                +
                + +Senior Investigator Log Senior Investigator Log + + + + + x1
                +
                + +Denny Denny + + + + + x15,000
                +
                ZZZANGELS +
                + +Polychrome Polychrome + + + + + x50
                +
                ZZZANIMATE +
                + +W-Engine Energy Module W-Engine Energy Module + + + + + x1
                +
                + +Senior Investigator Log Senior Investigator Log + + + + + x1
                +
                + +Denny Denny + + + + + x15,000
                +
                AODDebut +
                + +Polychrome Polychrome + + + + + x30
                +
                + +Senior Investigator Log Senior Investigator Log + + + + + x3
                +
                + +Denny Denny + + + + + x6,666
                +
                ZZZ26DELUSION +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x6,666
                +
                ZZZAOD0206 +
                + +Polychrome Polychrome + + + + + x10
                +
                + +Senior Investigator Log Senior Investigator Log + + + + + x2
                +
                + +W-Engine Energy Module W-Engine Energy Module + + + + + x2
                +
                + +Denny Denny + + + + + x5,000
                +
                ShunguangWinterGift +
                + +Polychrome Polychrome + + + + + x30
                +
                ZZZ25ROWBY
                ZHAOISFREE +
                + +Polychrome Polychrome + + + + + x50
                +
                ZZZ25MINA +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x6,666
                +
                ZZZ25VOIDHUNTERRISES
                ZZZCREATOR25 +
                + +Polychrome Polychrome + + + + + x20
                +
                + +Denny Denny + + + + + x6,666
                +
                MEETTHEVOIDHUNTER + +
                + +Polychrome Polychrome + + + + + x30
                +
                + +Senior Investigator Log Senior Investigator Log + + + + + x3
                +
                + +Denny Denny + + + + + x6,666
                +
                ZZZ24KRAMPUS +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x6,666
                +
                VRELEASE25 +
                + +Polychrome Polychrome + + + + + x100
                +
                Dialyn1125 +
                + +Polychrome Polychrome + + + + + x60
                + +
                + +W-Engine Power Supply W-Engine Power Supply + + + + + x2
                +
                + +Bangboo Algorithm Module Bangboo Algorithm Module + + + + + x2
                +
                ZZZ23SWEETILY +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x6,666
                +
                ZZZ22OBOLSQUAD +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x6,666
                +
                ALICEYUZUHA +
                + +Polychrome Polychrome + + + + + x50
                +
                ZZZ21SUMMER +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x6,666
                +
                ZZZ21EDDIE
                YUZUHAGIFT +
                + +Official Investigator Log Official Investigator Log + + + + + x10
                +
                + +Denny Denny + + + + + x10,000
                +
                + +W-Engine Power Supply W-Engine Power Supply + + + + + x10
                +
                + +Crystallized Plating Agent Crystallized Plating Agent + + + + + x10
                +
                ZZZTHANK +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x6,666
                +
                ZZZYOU +
                + +Polychrome Polychrome + + + + + x20
                +
                + +Denny Denny + + + + + x30,000
                +
                + +W-Engine Energy Module W-Engine Energy Module + + + + + x5
                +
                ZZZFOR +
                + +Polychrome Polychrome + + + + + x20
                +
                + +Denny Denny + + + + + x30,000
                +
                + +Ether Plating Agent Ether Plating Agent + + + + + x5
                +
                ZZZSTAYING +
                + +Polychrome Polychrome + + + + + x20
                +
                + +Denny Denny + + + + + x30,000
                +
                + +Bangboo System Widget Bangboo System Widget + + + + + x5
                +
                ZZZWITHUS +
                + +Polychrome Polychrome + + + + + x20
                +
                + +Denny Denny + + + + + x30,000
                +
                + +Senior Investigator Log Senior Investigator Log + + + + + x5
                +
                ABZVGEWK3O +
                + +Denny Denny + + + + + x20,000
                +
                ZZZ20NEWSEASON +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x6,666
                +
                ZZZ2NDSEASON +
                + +Polychrome Polychrome + + + + + x50
                +
                ZZZMADAMISU +
                + +Polychrome Polychrome + + + + + x60
                + +
                + +W-Engine Power Supply W-Engine Power Supply + + + + + x2
                +
                + +Bangboo Algorithm Module Bangboo Algorithm Module + + + + + x2
                +
                ZZZ17TIMOTHYRANDY +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x666
                +
                ZZZ17XSZ5Y11M
                ZZZ17MIFUYU
                ZZZ16SPECIAL +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x666
                +
                HSAHLWFEFE +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x666
                +
                ZZZFM +
                + +Ether Battery Ether Battery + + + + + x1
                +
                + +Senior Investigator Log Senior Investigator Log + + + + + x2
                +
                + +W-Engine Energy Module W-Engine Energy Module + + + + + x3
                +
                + +Ether Plating Agent Ether Plating Agent + + + + + x3
                +
                + +Denny Denny + + + + + x50,000
                +
                ZZZ15MINA +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x666
                +
                ZZZ15MOLLO
                ZZZGFN24 + +
                + +W-Engine Power Supply W-Engine Power Supply + + + + + x3
                +
                + +Denny Denny + + + + + x20,000
                +
                HARUMASAFREE +
                + +Polychrome Polychrome + + + + + x50
                +
                MIYABIRELEASE +
                + +Polychrome Polychrome + + + + + x60
                +
                ZZZASSEMBLE +
                + +Polychrome Polychrome + + + + + x30
                +
                LS7FG347AHRH +
                + +Polychrome Polychrome + + + + + x10
                + + +
                + +W-Engine Power Supply W-Engine Power Supply + + + + + x3
                +
                + +Denny Denny + + + + + x666
                +
                ZZZ4PC +
                + +Polychrome Polychrome + + + + + x50
                + +
                + +W-Engine Power Supply W-Engine Power Supply + + + + + x3
                +
                + +Bangboo Algorithm Module Bangboo Algorithm Module + + + + + x1
                +
                SGJADSHBF +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x666
                +
                YANAGIGIFTALL +
                + +Official Investigator Log Official Investigator Log + + + + + x10
                +
                + +W-Engine Power Supply W-Engine Power Supply + + + + + x10
                +
                + +Crystallized Plating Agent Crystallized Plating Agent + + + + + x10
                +
                + +Denny Denny + + + + + x10,000
                +
                ZZZFREE100 +
                + +Polychrome Polychrome + + + + + x300
                +
                + +Senior Investigator Log Senior Investigator Log + + + + + x2
                +
                + +W-Engine Energy Module W-Engine Energy Module + + + + + x3
                +
                + +Denny Denny + + + + + x30,000
                +
                ZZZTVCM +
                + +Polychrome Polychrome + + + + + x50
                +
                + +Denny Denny + + + + + x6,000
                +
                ZZZ2024
                XTNDQAS44985 + +
                USNC9SB4499R +
                + +W-Engine Power Supply W-Engine Power Supply + + + + + x6
                +
                NS6U9TTLM6AV +
                + +Bangboo Algorithm Module Bangboo Algorithm Module + + + + + x2
                +
                NB6D9SB4MPSZ + +
                4BPDRBT459RH +
                + +Denny Denny + + + + + x6,000
                +
                ZZZHOYOLAB + +
                + +Denny Denny + + + + + x10,000
                +
                KANURBT5MQ8D +
                + +Polychrome Polychrome + + + + + x40
                +
                ZENLESSLAUNCH +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x6,666
                +
                CATCHABOO +
                + +Polychrome Polychrome + + + + + x30
                +
                BANDP43VWC7H +
                + +Polychrome Polychrome + + + + + x60
                +
                + +Denny Denny + + + + + x6,666
                +
                + +

                Codes that have the same rewards are alternative codes. If you redeem either of them, it will mark the other as redeemed.

                + +

                Note that the ZZZ4PC code can only be redeemed inside the PC version of the game.

                +

                Zenless Zone Zero Related Guides

                +
                Back to Zenless Zone Zero Wiki Front
                + +

                Zenless Zone Zero Wiki Front

                +

                Guides by Category

                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                Zenless Zone Zero Categories
                News and Game Information News and Game InfoRedeem Codes Redeem Codes
                Character Guides CharactersZenless Zone Zero - All Tier List GuidesTier Lists
                W-Engines W-EngineDrive Discs Drive Discs
                Signal Search Signal SearchBangboosBangboo
                Events EventsTravel (Maps) Travel
                Shops ShopsVR Device VR Device
                Enemies EnemiesBosses Bosses
                Hollow Zero Hollow ZeroShiyu DefenseShiyu Defense
                Rally Commission Rally CommissionsArcade Arcade (Godfinger)
                Items and MaterialsItemsCommissions Commissions
                Mewmew MedalsMewmew MedalsTrust EventsTrust Events
                Zenless Zone Zero - Suibian Temple Suibian TempleZenless Zone Zero All Premium Articles Premium Articles
                +

                Zenless Zone Zero Tips and Tricks

                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                Gameplay Guides
                How to Level Up CharactersHow to Build and Enhance Characters
                How to Ascend (Promote) CharactersHow to Recover Battery Charge
                How to Raise Your Inter-Knot LevelAll Inter-Knot Level Rewards
                Daily and Weekly Server Reset TimesHow to Change the Time
                List of All AchievementsTrophy Guide
                Missing Mini Cargo Truck Locations and RewardsReroll Guide
                Microtransactions and Best In-App PurchasesHow to Increase Agent Trust Level
                Fast Travel Guide: How to TeleportHow to Modify and Upgrade W-Engines
                How to Gain EnergyHow to Heal Characters
                Compendium GuideList of Primer Trials and All Rewards
                Best Standard Banner Character GuideHow to Get Promoters for Random Play
                Exploration ElementsWorkbench Guide
                How to Level Up Drive Discs How to Upgrade Core Skills
                How to Pet CatsPublic Telephone Guide
                How to Change Your NameAll Stats Explained
                How to Raise Your Proxy RankImmersive Storytelling Mode Guide
                How to Get and Change NamecardsSkill Enhancement Guide +
                How to Take PicturesHow to Level Up and Ascend Bangboos
                Best Battery Priority GuideBest A-Rank W-Engine to Get from the Bundle
                Combat Guides
                Basic Combat GuideHow to Daze and Stun
                Chain Attack GuideUltimate and Decibel Rating
                Perfect Dodge and CounterPerfect Assists and Parries
                Attribute AnomalyWhat are Additional Skills?
                How to Destroy Enemy PartsHow to Do EX Special Attacks
                How Do Shields Work?Windswept and Contamination
                Vortex Effect-
                Items and Collectibles
                How to Farm PolychromesHow to Get and Use Residual Signal
                How to Get and Use Fading SignalHow to Get and Use Encrypted Master Tape
                Best Ways to Farm Denny (Money)How to Get and Use HIA Commemorative Coin
                How to Get and Use W-Engine ChipHow to Get and Use Ether Battery
                How to Get and Use BooponHow to Get and Use Bangbuck
                How to Get and Use MonochromeExclusive Skins for W-Engines
                How to Get Dynamic WallpapersHow to Collect Observation Data
                How to Use PhotowallHow to Get Cat Food Cans
                HIA Coins Sixth Street LocationsHIA Coins Brant Street Locations
                HIA Coins Lumina Square LocationsHIA Coins Ballet Twins Road Locations
                Game Modes and Dailies
                Dailies - Errands GuideHollow Deep Dive Explained
                Officer Mewmew Medal Locations and ChallengesNotorious Hunt Guide
                Routine Cleanup GuideCasual vs Challenge Mode
                Frequently Asked Questions
                Should You Choose Belle or Wise?Does Zenless Zone Zero Have Crossplay?
                Are There Multiplayer Features?How to Transfer Data
                How to Exit the GameHow to Play With Controller on PC/Mobile
                Birthday Guide: What Do You Get On Your BirthdayWhich Server Should I Use?
                New Eridu City Fund Battle Pass GuideCan You Reset an Account?
                +

                Comment

                91 Anonymous Anonymous 8 days

                90 Anonymous Anonymous 27 days

                  +

                  All rights reserved

                  + + + +
                  Guide Index
                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                  \ No newline at end of file diff --git a/fixtures/zzz/game8-codes-2026-10-18.meta.json b/fixtures/zzz/game8-codes-2026-10-18.meta.json new file mode 100644 index 0000000..430b9bc --- /dev/null +++ b/fixtures/zzz/game8-codes-2026-10-18.meta.json @@ -0,0 +1,11 @@ +{ + "sourceId": "zzz-game8-codes", + "url": "https://game8.co/games/Zenless-Zone-Zero/archives/435683", + "contentHash": "1d7c1e3ee7deb6b7e1f015528d1dcfe5d020181c766e9b27a057d19a306889d8", + "bytes": 342982, + "etag": "W/\"1d7c1e3ee7deb6b7e1f015528d1dcfe5\"", + "lastModified": null, + "contentChangedAt": "2026-10-18T02:11:01.919Z", + "lastConfirmedAt": "2026-10-18T02:11:01.919Z", + "charset": "utf-8" +} diff --git a/scripts/build-codes.ts b/scripts/build-codes.ts index b10c1bf..b8134b0 100644 --- a/scripts/build-codes.ts +++ b/scripts/build-codes.ts @@ -20,16 +20,14 @@ export async function buildCodes() { const sources: SourceHealth[] = []; for (const source of CODE_SOURCES) { const snapshot = await store.read(source.id), + // Until the refresh stores a snapshot, each source builds from its own + // pinned page, dated by that capture. at = snapshot ? freshnessAt(snapshot) - : (( - await Bun.file( - "fixtures/genshin/game8-codes-2026-10-16.meta.json", - ).json() - ).contentChangedAt as string), + : ((await Bun.file(`${source.fixture}.meta.json`).json()) + .contentChangedAt as string), html = - snapshot?.html ?? - (await Bun.file("fixtures/genshin/game8-codes-2026-10-16.html").text()); + snapshot?.html ?? (await Bun.file(`${source.fixture}.html`).text()); const parsed = source.parse(html, { now: new Date().toISOString(), sourceId: source.id, @@ -51,7 +49,10 @@ export async function buildCodes() { contentChangedAt: snapshot?.meta.contentChangedAt ?? at, eventCount: parsed.length, parsedCount: parsed.length, - statesNoEvents: false, + statesNoEvents: + parsed.length === 0 && "statesNoEvents" in source + ? source.statesNoEvents(html) + : false, }); } const feed = CodesFeedSchema.parse({ schemaVersion: 1, codes, sources }); diff --git a/snapshots/codes-first-seen.json b/snapshots/codes-first-seen.json index bcf2e42..2b7d972 100644 --- a/snapshots/codes-first-seen.json +++ b/snapshots/codes-first-seen.json @@ -8,5 +8,39 @@ "[\"genshin\",\"Y1INABQB6DEX\"]": "2026-10-16T11:48:08.968Z", "[\"genshin\",\"2BJ64QRZ7RT8\"]": "2026-10-16T11:48:08.968Z", "[\"genshin\",\"PLDXIB886Y1S\"]": "2026-10-16T11:48:08.968Z", - "[\"genshin\",\"GENSHINGIFT\"]": "2026-10-16T11:48:08.968Z" + "[\"genshin\",\"GENSHINGIFT\"]": "2026-10-16T11:48:08.968Z", + "[\"hsr\",\"PEARLAPPRAISE\"]": "2026-10-18T02:10:59.689Z", + "[\"hsr\",\"OMEGA\"]": "2026-10-18T02:10:59.689Z", + "[\"hsr\",\"CREATIONNYMPH\"]": "2026-10-18T02:10:59.689Z", + "[\"hsr\",\"FAREWELL\"]": "2026-10-18T02:10:59.689Z", + "[\"hsr\",\"IFYOUAREREADINGTHIS\"]": "2026-10-18T02:10:59.689Z", + "[\"hsr\",\"STARRAILGIFT\"]": "2026-10-18T02:10:59.689Z", + "[\"zzz\",\"ZZZVOID32\"]": "2026-10-18T02:11:01.919Z", + "[\"zzz\",\"ZZZINK32\"]": "2026-10-18T02:11:01.919Z", + "[\"zzz\",\"ZZZGRIND32\"]": "2026-10-18T02:11:01.919Z", + "[\"zzz\",\"ZENLESSGIFT\"]": "2026-10-18T02:11:01.919Z", + "[\"wuwa\",\"WUTHERINGGIFT\"]": "2026-10-18T02:11:04.080Z", + "[\"endfield\",\"ENDFIELDSTEAM\"]": "2026-10-18T02:11:06.247Z", + "[\"endfield\",\"ZAU2SYXHWX5L4ZH\"]": "2026-10-18T02:11:06.247Z", + "[\"endfield\",\"ENDFIELDGIFT\"]": "2026-10-18T02:11:06.247Z", + "[\"endfield\",\"ENDFIELD4PC\"]": "2026-10-18T02:11:06.247Z", + "[\"nte\",\"WONDERLOGGIFT\"]": "2026-10-18T02:11:08.413Z", + "[\"nte\",\"BLACKBIRDINNTE\"]": "2026-10-18T02:11:08.413Z", + "[\"nte\",\"BLACKBIRDHERE\"]": "2026-10-18T02:11:08.413Z", + "[\"nte\",\"COMEBACK\"]": "2026-10-18T02:11:08.413Z", + "[\"nte\",\"ZANKOU0819\"]": "2026-10-18T02:11:08.413Z", + "[\"nte\",\"NTEMusou\"]": "2026-10-18T02:11:08.413Z", + "[\"nte\",\"NTEKokushi\"]": "2026-10-18T02:11:08.413Z", + "[\"nte\",\"NTEGIFT\"]": "2026-10-18T02:11:08.413Z", + "[\"nte\",\"DREAMWALK0603\"]": "2026-10-18T02:11:08.413Z", + "[\"nte\",\"TOMATO100\"]": "2026-10-18T02:11:08.413Z", + "[\"nte\",\"RACENOLIMIT\"]": "2026-10-18T02:11:08.413Z", + "[\"nte\",\"NTENENE\"]": "2026-10-18T02:11:08.413Z", + "[\"p5x\",\"WEBSTORE1YEAR\"]": "2026-10-18T02:11:11.142Z", + "[\"p5x\",\"WONDER\"]": "2026-10-18T02:11:11.142Z", + "[\"czn\",\"NIGHTMARECARNIVAL\"]": "2026-10-18T02:11:13.874Z", + "[\"czn\",\"CZNNEWPDGIFT3RD\"]": "2026-10-18T02:11:13.874Z", + "[\"czn\",\"CZNNEWPDGIFT2ND\"]": "2026-10-18T02:11:13.874Z", + "[\"czn\",\"CZNNEWPDGIFT1ST\"]": "2026-10-18T02:11:13.874Z", + "[\"czn\",\"epicwithczn\"]": "2026-10-18T02:11:13.874Z" } diff --git a/src/client/components/redesign/CodesPage.tsx b/src/client/components/redesign/CodesPage.tsx index 9b1abf5..40def42 100644 --- a/src/client/components/redesign/CodesPage.tsx +++ b/src/client/components/redesign/CodesPage.tsx @@ -1,6 +1,8 @@ import { useEffect, useState } from "react"; import { freshness } from "../../../shared/feed.ts"; import type { CodesFeed } from "../../../shared/codes.ts"; +import { REDEEM } from "../../../shared/redeem.ts"; +import type { GameId } from "../../../shared/schema.ts"; import type { ReaderState } from "../../state/reader/schema.ts"; import { newCodes } from "../../state/reader/codes.ts"; import { actionMeta } from "../../state/reader/actions.ts"; @@ -22,6 +24,7 @@ export function CodesPage({ (a) => a.game === game && !a.retiredAt, ); const codes = feed?.codes.filter((c) => c.game === game) ?? []; + const redeem = REDEEM[game as GameId]; const unseen = feed ? newCodes(feed, state.codeSeen[game] ?? [], game) : []; useEffect(() => { if (unseen.length) @@ -40,6 +43,24 @@ export function CodesPage({ New-code notices are separate from redemption. Mark codes redeemed for each account you play.

                  + {redeem && ( +
                  + {redeem.url && ( + + Redeem on the official site ↗ + + )} +

                  + {redeem.url ? "Or in game:" : "Redeem in game:"}{" "} + {redeem.inGame} +

                  +
                  + )}

                  {message}

                  {feed && freshness( @@ -104,7 +125,9 @@ export function CodesPage({ }) } /> - Redeemed · {a.region} + Redeemed + {/* The server only when there is more than one to tell apart. */} + {accounts.length > 1 && ` · ${a.region}`} ))} diff --git a/src/client/redesign.css b/src/client/redesign.css index 74c7fc1..f68ba61 100644 --- a/src/client/redesign.css +++ b/src/client/redesign.css @@ -5338,3 +5338,53 @@ button.mark { font: 500 12px/1.4 var(--font-body); color: var(--color-muted); } + +/* Settings on large screens: the content used to stop at 900px, leaving most + of a 1920px screen empty, and the menu's rule ended partway down. Forms and + card grids now use up to 1320px (paragraphs keep their 75ch measure), and + the menu column runs the full height of the page. */ +.settings-layout { + min-height: calc(100vh - 130px); +} +.settings-layout > nav { + align-self: stretch; +} +.settings-content { + max-width: 1320px; +} +@media (max-width: 700px) { + .settings-layout { + min-height: 0; + } +} +/* The form pages fill the wider settings column too; the changelog keeps its + reading measure. */ +.game-settings, +.backup-page, +.reset-row, +.sources-page .source-row, +.sources-page .list-options, +.sources-page .sources-heading { + max-width: none; +} + +/* Where to redeem: the official page as a button when the publisher has one, + and the in-game route either way. */ +.redeem-where { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 8px 16px; + margin: 12px 0 16px; +} +.redeem-where .commit { + text-decoration: none; +} +.redeem-where p { + margin: 0; + font-size: 13px; + color: var(--color-ink); +} +.redeem-where p span { + color: var(--color-muted); +} diff --git a/src/ingest/codes/game8.ts b/src/ingest/codes/game8.ts index ec5d45b..303ff53 100644 --- a/src/ingest/codes/game8.ts +++ b/src/ingest/codes/game8.ts @@ -89,3 +89,77 @@ export function parseGame8Codes( } return [...codes.values()]; } + +/** + * Game8's per-game codes pages share the copy-input markup but not their + * headings or columns, so this reads one page by the heading of its "active + * codes" section (an h2 runs to the next h2, an h3 to the next h2/h3). + * + * Within that section, a table counts only if it carries copy inputs and does + * not say its codes have expired — Wuthering Waves keeps an expired table at the + * top of its active section. A row's reward is its other cells, or for a single + * cell that holds both (Wuthering Waves, P5X) the cell's text after the code. + * Expiry is left null: these pages print "Expires TBA" or a range without a + * year, and a guessed year is a fabricated date. + * + * A missing heading throws (the page changed shape). A section with no code + * tables returns nothing; whether that is stored is `statesNoCodes`' call. + */ +export function parseGame8CodeTable( + html: string, + ctx: ParseContext, + heading: RegExp, +): Omit[] { + const found = [...html.matchAll(/]*>([\s\S]*?)<\/h\1>/gi)].find( + (m) => heading.test(text(m[2]!)), + ); + if (!found) + throw new Error("The current codes section could not be identified"); + const after = html.slice(found.index! + found[0].length), + end = after.search(found[1] === "2" ? />(); + for (const table of section.matchAll(/]*>([\s\S]*?)<\/table>/gi)) { + if (!/a-clipboard__textInput/.test(table[1]!)) continue; + if (/\bexpired\b/i.test(text(table[1]!))) continue; + for (const tr of table[1]!.matchAll(/]*>([\s\S]*?)<\/tr>/gi)) { + const cells = [...tr[1]!.matchAll(/]*>([\s\S]*?)<\/td>/gi)].map( + (c) => c[1]!, + ); + const at = cells.findIndex((c) => /a-clipboard__textInput/.test(c)); + if (at < 0) continue; + const input = + /]*\bclass=["'][^"']*a-clipboard__textInput)(?=[^>]*\bvalue=["']([^"']+)["'])[^>]*>/i.exec( + cells[at]!, + ); + if (!input) throw new Error("A current-code row has no readable code"); + const code = decodeEntities(input[1]!).trim(); + if (!code || code.length > 100) throw new Error("Invalid code text"); + const others = cells.filter((_, i) => i !== at); + // A date column (P5X's "Date Added") is not the reward. + const rewardCells = others.filter( + (c) => !/^\s*\d{2}\/\d{2}\/\d{4}\s*$/.test(text(c)), + ); + const reward = rewardCells.length + ? rewardCells.map((c) => text(c)).join(" ") + : text(cells[at]!) + .replace(/^\s*Copied\s*/i, "") + .trim(); + // NTE and CZN list rewards as "・ A ・ B" / "• A"; read them as a list. + const tidy = reward + .replace(/\s*[・•]\s*/g, ", ") + .replace(/^,\s*/, "") + .trim(); + const id = JSON.stringify([ctx.game, code]); + codes.set(id, { + id, + game: ctx.game, + code, + reward: tidy || null, + expiresAt: null, + sourceUrl: ctx.sourceUrl, + }); + } + } + return [...codes.values()]; +} diff --git a/src/ingest/codes/registry.ts b/src/ingest/codes/registry.ts index 75a2b4f..76d945f 100644 --- a/src/ingest/codes/registry.ts +++ b/src/ingest/codes/registry.ts @@ -1,5 +1,40 @@ import { SIX_HOURS_MS, type Adapter } from "../adapters/types.ts"; -import { parseGame8Codes } from "./game8.ts"; +import type { ParseContext } from "../adapters/types.ts"; +import type { GameId } from "../../shared/schema.ts"; +import { parseGame8Codes, parseGame8CodeTable } from "./game8.ts"; + +/** + * One Game8 codes page per game. Genshin's page has its own parser (it also + * reads livestream programmes); the others share `parseGame8CodeTable`, told + * which heading opens the page's active section. `fixture` is the pinned page a + * build uses until the refresh has stored a snapshot. + * + * Infinity Nikki is deliberately absent: Game8 stopped updating its guides and + * the codes page is still titled July 2025 (checked 2026-10-18), so its + * "active" list cannot be presented as current. + */ +function game8Table( + game: GameId, + url: string, + heading: RegExp, + statesNoCodes?: RegExp, +) { + return { + id: `${game}-game8-codes`, + game, + url, + parserId: "game8-code-table", + minIntervalMs: SIX_HOURS_MS, + priority: 0, + fixture: `fixtures/${game}/game8-codes-2026-10-18`, + parse: (html: string, ctx: ParseContext) => + parseGame8CodeTable(html, ctx, heading), + ...(statesNoCodes + ? { statesNoEvents: (html: string) => statesNoCodes.test(html) } + : {}), + }; +} + export const CODE_SOURCES = [ { id: "genshin-game8-codes", @@ -8,8 +43,52 @@ export const CODE_SOURCES = [ parserId: "game8-codes", minIntervalMs: SIX_HOURS_MS, priority: 0, + fixture: "fixtures/genshin/game8-codes-2026-10-16", parse: parseGame8Codes, }, + game8Table( + "hsr", + "https://game8.co/games/Honkai-Star-Rail/archives/410296", + /^Active Redeem Codes for/i, + ), + game8Table( + "zzz", + "https://game8.co/games/Zenless-Zone-Zero/archives/435683", + /^Active Zenless Zone Zero Code/i, + ), + game8Table( + "wuwa", + "https://game8.co/games/Wuthering-Waves/archives/453149", + /^Wuthering Waves All Active Codes$/i, + ), + game8Table( + "endfield", + "https://game8.co/games/Arknights-Endfield/archives/571509", + /^All Active Codes in/i, + ), + game8Table( + "nte", + "https://game8.co/games/Neverness-to-Everness/archives/593718", + /^All Active Redeem Codes$/i, + ), + game8Table( + "p5x", + "https://game8.co/games/Persona-5-Phantom-X/archives/531770", + /^List of All Codes$/i, + ), + game8Table( + "czn", + "https://game8.co/games/Chaos-Zero-Nightmare/archives/557967", + /^All Active Coupons$/i, + ), + // Global Umamusume has had no public codes yet; the page says so, and that + // statement (not an empty table) is what lets an empty read be stored. + game8Table( + "uma", + "https://game8.co/games/Umamusume-Pretty-Derby/archives/536130", + /^List of Codes$/i, + /No Publicly Released Codes Yet/i, + ), ]; // Fetch policy only depends on source identity, interval and parse count. Event adapters keep // their GachaEvent return contract; the scheduler can also count code records without faking events. diff --git a/src/shared/redeem.ts b/src/shared/redeem.ts new file mode 100644 index 0000000..e4a45a7 --- /dev/null +++ b/src/shared/redeem.ts @@ -0,0 +1,72 @@ +import type { GameId } from "./schema.ts"; + +/** + * Where a reader redeems a game's codes: the publisher's own web page when + * one exists, and the in-game path in the game's words. Only for games with a + * codes source; read from that source's own "How to redeem" section and dated + * by when it was read. A URL is listed only when it is on the publisher's + * domain and the source links it — Chaos Zero Nightmare names an official + * coupon page without linking it, so it gets the in-game path only. + */ +export interface Redeem { + /** The publisher's official redemption page. */ + url?: string; + /** The in-game route, step by step. */ + inGame: string; + /** Where the route and URL were read. */ + source: string; + checked: string; +} + +export const REDEEM: Partial> = { + genshin: { + url: "https://genshin.hoyoverse.com/en/gift", + inGame: + "Paimon menu → Settings → Account → Redeem Code (Adventure Rank 10+)", + source: "https://game8.co/games/Genshin-Impact/archives/304759", + checked: "2026-10-18", + }, + hsr: { + url: "https://hsr.hoyoverse.com/gift", + inGame: "Menu → ··· → Redemption Code", + source: "https://game8.co/games/Honkai-Star-Rail/archives/410296", + checked: "2026-10-18", + }, + zzz: { + url: "https://zenless.hoyoverse.com/redemption", + inGame: "Menu → More → Redemption Code", + source: "https://game8.co/games/Zenless-Zone-Zero/archives/435683", + checked: "2026-10-18", + }, + wuwa: { + inGame: "Settings → Other Settings → Redemption Code", + source: "https://game8.co/games/Wuthering-Waves/archives/453149", + checked: "2026-10-18", + }, + endfield: { + inGame: + "Menu → Settings → Platform & Account → Exchange Code (after the tutorial unlocks Mail)", + source: "https://game8.co/games/Arknights-Endfield/archives/571509", + checked: "2026-10-18", + }, + nte: { + inGame: "Menu → [...] → Redeem Code", + source: "https://game8.co/games/Neverness-to-Everness/archives/593718", + checked: "2026-10-18", + }, + p5x: { + inGame: "Menu → Exchange Code", + source: "https://game8.co/games/Persona-5-Phantom-X/archives/531770", + checked: "2026-10-18", + }, + czn: { + inGame: "Menu → Settings → Account Settings → Register Coupon", + source: "https://game8.co/games/Chaos-Zero-Nightmare/archives/557967", + checked: "2026-10-18", + }, + uma: { + inGame: "Menu → Enter Code", + source: "https://game8.co/games/Umamusume-Pretty-Derby/archives/536130", + checked: "2026-10-18", + }, +}; diff --git a/test/adapters/game8-code-table.test.ts b/test/adapters/game8-code-table.test.ts new file mode 100644 index 0000000..9623010 --- /dev/null +++ b/test/adapters/game8-code-table.test.ts @@ -0,0 +1,78 @@ +import { expect, test } from "bun:test"; +import { CODE_SOURCES } from "../../src/ingest/codes/registry.ts"; +import { parseGame8CodeTable } from "../../src/ingest/codes/game8.ts"; + +const now = "2026-10-18T12:00:00.000Z"; + +// Each page pinned 2026-10-18; expected files were spot-checked against the +// live pages (Star Rail's six codes, WUTHERINGGIFT, Endfield's ENDFIELDSTEAM / +// ENDFIELDGIFT / ENDFIELD4PC, CZN's NIGHTMARECARNIVAL, P5X's WEBSTORE1YEAR). +for (const source of CODE_SOURCES.filter((s) => s.game !== "genshin")) { + test(`${source.id} reads the page's active codes`, async () => { + const html = await Bun.file(`${source.fixture}.html`).text(); + const expected = await Bun.file(`${source.fixture}.expected.json`).json(); + expect( + source.parse(html, { + now, + sourceId: source.id, + sourceUrl: source.url, + game: source.game, + }), + ).toEqual(expected); + }); +} + +test("an expired table inside the active section is not read as current", async () => { + const wuwa = CODE_SOURCES.find((s) => s.game === "wuwa")!; + const html = await Bun.file(`${wuwa.fixture}.html`).text(); + const codes = wuwa.parse(html, { + now, + sourceId: wuwa.id, + sourceUrl: wuwa.url, + game: "wuwa", + }); + expect(codes.map((c) => c.code)).toEqual(["WUTHERINGGIFT"]); +}); + +test("a page that says it has no codes is an empty read it may store; a changed page is not", async () => { + const uma = CODE_SOURCES.find((s) => s.game === "uma")!; + const html = await Bun.file(`${uma.fixture}.html`).text(); + expect( + uma.parse(html, { now, sourceId: uma.id, sourceUrl: uma.url, game: "uma" }), + ).toEqual([]); + expect("statesNoEvents" in uma && uma.statesNoEvents(html)).toBe(true); + expect(() => + parseGame8CodeTable( + "

                  Something else

                  ", + { + now, + sourceId: "x", + sourceUrl: "https://example.com", + game: "hsr", + }, + /^Active Redeem Codes for/i, + ), + ).toThrow("could not be identified"); +}); + +test("a reward shared with the code's cell, or listed with bullets, reads as text", () => { + const html = + "

                  Codes

                  " + + "" + + "
                  Date AddedCode & Reward
                  09/24/2026 Copied 100 Stamps
                  Copied・ Fons x10 ・ Coin x5
                  "; + const codes = parseGame8CodeTable( + html, + { + now, + sourceId: "x", + sourceUrl: "https://example.com", + game: "nte", + }, + /^Codes$/, + ); + expect(codes.map((c) => [c.code, c.reward])).toEqual([ + ["ONE", "100 Stamps"], + ["TWO", "Fons x10, Coin x5"], + ]); + expect(codes.every((c) => c.expiresAt === null)).toBe(true); +}); diff --git a/test/codes-ui.test.tsx b/test/codes-ui.test.tsx index 3231bef..a9fcc6b 100644 --- a/test/codes-ui.test.tsx +++ b/test/codes-ui.test.tsx @@ -39,3 +39,64 @@ test("redemption controls identify each server and unknown expiry stays unknown" expect(html).toContain("Expiry not announced"); expect(html).toContain('href="https://example.com"'); }); + +import { REDEEM } from "../src/shared/redeem.ts"; +test("every game with a codes source says where to redeem, linking only official pages", async () => { + const { CODE_SOURCES } = await import("../src/ingest/codes/registry.ts"); + for (const s of CODE_SOURCES) { + const r = REDEEM[s.game]; + expect(r?.inGame.length ?? 0).toBeGreaterThan(0); + if (r?.url) + expect(new URL(r.url).hostname).toMatch(/(^|\.)hoyoverse\.com$/); + } +}); + +test("the Codes tab links the official redeem page, or gives the in-game route", () => { + const at = "2026-10-18T12:00:00.000Z"; + const feed = { schemaVersion: 1 as const, codes: [], sources: [] }; + const page = (game: string) => + render( + "account:t")} + onAction={async () => ({ ok: true })} + feed={feed} + />, + ); + const genshin = page("genshin"); + expect(genshin).toContain('href="https://genshin.hoyoverse.com/en/gift"'); + expect(genshin).toContain("Or in game:"); + const wuwa = page("wuwa"); + expect(wuwa).not.toContain("Redeem on the official site"); + expect(wuwa).toContain("Redeem in game:"); + expect(wuwa).toContain("Other Settings"); +}); + +test("with one server, a code's checkbox does not name it", () => { + const at = "2026-10-18T12:00:00.000Z"; + const html = render( + "account:one")} + onAction={async () => ({ ok: true })} + feed={{ + schemaVersion: 1, + sources: [], + codes: [ + { + id: '["hsr","OMEGA"]', + game: "hsr", + code: "OMEGA", + reward: "Stellar Jade x60", + expiresAt: null, + firstObservedAt: at, + sourceUrl: + "https://game8.co/games/Honkai-Star-Rail/archives/410296", + }, + ], + }} + />, + ); + expect(html).toContain("Redeemed"); + expect(html).not.toContain("Redeemed · "); +});