A fan-made, unofficial guide — global server only.
All ratios are community habits, not hard rules; whatever both sides agree on works, and please trade politely ✿
Trade ratios, BRAND dyeing, pull costs and top-up VIP — all on one page.
Pick who you are right now for a suggested path. Everything runs in the browser — no backend, no account.
“Mine” counts how often you open each tab on this device and never leaves it; “Site-wide” is the anonymous total across every visitor, and needs no setup.
Same-type conversion only (PURE↔PURE / PRM↔PRM) — PURE and PRM are not interchangeable here; for cross-type trades use the Ratio calculator.
Rainbow Market charges a 30% transaction fee. Enter a listing price to convert:
Seller receives = listing price ×70%; to receive a target amount, list at about ÷0.7. Listing prices must end in 0 (steps of 10 stars) — the converted result is rounded up to the nearest 10.
Pick a brand and enter how many pieces you want to dye — converts to total dye materials and approximate stars.
Per single pull: Deux 5 spools / By(e) 12 spices / melem 1 candle; a 5+1 (1500 stars) gives 30 spools / 72 spices / 6 candles. BRAND baskets have no first-time 900 discount — every 5+1 costs 1500. Single pulls in the reverse calc are counted at 300 stars (6th-pull-onward price); the first few pulls are cheaper (90–270), so you may get slightly more. melem N counted as 2 candles (rooms have N at 1–2), and rooms unlock bottom-up, so actual cost may be slightly higher.
Pick your current tier and target tier to see how many more PRM Stars you need to top up (free bonus stars excluded).
Cumulative tier thresholds: Crystal 0 · Bronze 100 · Silver 1000 · Gold 6000 · Platinum 10000 · Ruby 30000 · Diamond 70000 · Legend 100000. Estimates use the largest bonus-event tier (NT$: iOS 0.169 / Android 0.184 per star; HK$: iOS 0.040 / Android 0.043) — check the price table in Top-up & VIP for details.
Pick the conditions above to see the suggested ratio here.
BRAND original-color items are valued exactly like regular PRM items (by expiry time & popularity) — they have their own option above.
Enter a quantity for each item you want (0 = skip) — the required VIP points are summed automatically; quantities are capped at each item's purchase limit.
Buying out the entire special tab costs 40,800 VIP points. See the tier rewards in "Top-up & VIP" for how points are earned.
Based on each platform's best-value tier (largest bonus-event tier) — handy for cross-region players comparing where to top up. Enter an amount to estimate the stars you'd get:
| Platform · currency | 1 star ≈ | 1 $ ≈ |
|---|
Basis: iOS $2490→14,700 stars (NT$1 ≈ 5.90 stars) / Android $2710→14,700 (≈ 5.42) / web store $16,250→86,500 (≈ 5.32). HK$ basis: iOS HK$588→14,700 (1 HK$ ≈ 25.0 stars) / Android HK$639→14,700 (≈ 23.0) / US$74.99→14,700 (same on iOS & Android · 1 US$ ≈ 196 stars). Smaller tiers give fewer stars per dollar — see the price tables below.
"Avg / star" (price ÷ total stars) in NT$, sorted from best to worst value. Packs have purchase limits — bulk top-ups still rely on regular tiers.
| # | Item | Price | Avg / star |
|---|
Pack star counts include the free bonus. Pack prices are only known in NT$, so the HK$ / US$ rankings list top-up and web tiers only (bonus star counts). In NT$ the best value is usually the New Year · Anniversary pack (iOS).
PURE=free ・ PRM=paid ・ LUCKYBAG=lucky bag ・ BRAND=brand basket
⚠️ Year-based ratios are same-type trades (PURE↔PURE / PRM↔PRM); for PURE-PRM conversion see "PURE vs PRM basket".
A lot of people only know "BRAND #4 is expensive" without knowing why. These 5 factors decide where an item actually lands — the more stars, the bigger the pull on the ratio:
Two items that are both "1 year expired" can still differ by more than 1:2 if one has low circulation and high popularity while the other is something everyone owns. Run through these 5 factors before opening a price — it beats memorizing numbers.
Assumes same rarity (SR:SR / R:R / N:N). LUCKYBAG items count as PURE — they can be obtained with free stars.
e.g. 1 expired PRM N = 2 current PRM N.
PRM-for-PURE ratios vary by person; if the PRM item is expired, double the ratio again.
LUCKYBAG items count as PURE (free) items — they can be obtained with free stars. All their trade ratios follow the PURE basket rules.
Treated as PURE items throughout: expired LUCKYBAG = expired PURE item; the longer expired, the higher the ratio, as usual.
Expired 1 month after the basket closes; same-type trades (PURE↔PURE / PRM↔PRM).
※ By market circulation, 1-year+ items usually open around 1 : 2; asking 1 : 3 right at the one-year mark is a door-kick opener (testing for more). Only baskets that ended before 2025/01 realistically close at 1 : 3. Popularity and scarcity shift the landing point (see Notes).
Valued like regular PRM items, against current PRM items; BRAND baskets never rerun (retired).
※ 1-year+ usually opens at 1 : 2; 1 : 3 is mostly a testing offer (pre-2025/01 baskets have a real shot). Retired goods — popular pieces take the high end (see Notes).
⚠️ "Current basket" here means current PRM items. A dye counts as expired only when it can no longer be dyed (example in Notes).
※ BRAND baskets never rerun (retired); popular and high-rarity items do not follow this table (see Notes).
If you get an offer you don't want, leaving them on read tends to sting. Try something like:
A door-kick opener means deliberately opening way below the going rate, to test whether you know the market and how easy you are to push around. Not every low offer is malicious, but common tells:
No need to get upset — just quote a ratio you're comfortable with. If they genuinely want the trade, they'll usually come back to a reasonable range.
The point here isn't to suspect everyone — it's a handful of common scam or pitfall patterns. If several of these show up together, slow down.
Screenshot the agreed terms and ratio before trading. Try to trade simultaneously where possible, and for higher-value trades, ask a trusted third party to witness.
| Deux spools | By(e) spices | melem candles | |
|---|---|---|---|
| Per single pull | 5 | 12 | 1 |
| Per 5+1 | 30 | 72 | 6 |
| SR dye | 70 | 140 | 6 |
| R dye | 45 | 80 | 4 |
| N dye | 35 | 35 | 1–2 |
⚠️ Candles expire the moment the basket ends (spices and spools can be stored). melem costs depend on the item's position in the room. For estimates use Quick Calc → Dye cost.
Universal design and photography principles, applied to styling and art photos. Switch categories; tap any entry to expand.
Seven steps, one decision each. No fixed order - fill in whatever you know. Once four are set you get a plan card you can copy and keep beside you.
Options are given by type, not by in-game item - items go stale with each update, categories do not.
Every item maps to something the artwork check actually measures, so the advice here and the verdict later are one standard stated twice, not two opinions. Ticks are remembered on this device.
Naming a piece and picking tags often takes longer than making it. The vocabulary and the seasonal calendar here are fixed, so nothing goes stale and nobody has to maintain it — which is also why there is no "trending tags": that would need a server watching everyone's posts.
1. Keywords for this piece (leave blank for random):
2. Which register:
3. Suggested tags (tap to copy):
Drop a work in and get an aesthetic read — brightness, contrast, saturation, color cast, compositional weight, color count — with concrete numbers and a fix preview. Analyzed on your device only; never uploaded.
Completeness, memorability, development potential — these were never things a questionnaire could score objectively, so this isn't a "check" anymore. Just roll a starter character, keep what works, edit what doesn't. Usually faster than staring at a blank page.
"Fill blanks only" leaves what you've already written untouched. "Reroll everything" replaces the whole set — make sure you're OK losing the current version first.
Get a color palette for your character, or let it randomly roll a whole theme / character trait / composition / palette combo for you. Pick any one of the three inputs below — everything is processed only on your device.
① Keyword:
② Or upload an image to extend from:
③ Or paste a character description to reverse-derive from:
④ Not sure what to pick? Roll each one separately and keep what you like:
| Pull | PURE basket | PRM basket |
|---|---|---|
| 1st | 0 | 90 |
| 2nd | 150 | 150 |
| 3rd | 180 | 180 |
| 4th | 210 | 210 |
| 5th | 270 | 270 |
| 6th onward | 300 | 300 |
Estimated at 260 stars/pull (7,800 ÷ 30, with both-gender discounts); single-gender only ≈ 280/pull (8,400 ÷ 30). Actual cost depends on the ladder and 5+1 mix.
No duplicate items within a single multi-pull — but duplicates can still appear across separate pulls. e.g. a first 5-pull of ABCDE and a second 5-pull of ABCDE is possible, but a single 5-pull will never contain AACDE.
Limited LUCKYBAG is capped at 3 per person (per the in-game notice); limited-stock bags restock on schedule after selling out.
Prices are in NT$ or HK$; HK$ is available for both iOS and Android and US$ for both platforms too — all identical with or without bonus events. The "+" part is bonus PRM Stars given for free; "Avg / star" = price ÷ total stars (e.g. iOS $230 / 1250 stars ≈ 0.184/star).
Official web store: store.purenistam.com
"Avg / star" = price ÷ PRM Stars — lower is better value. The NT$ / HK$ lists show the store's local-currency prices.
At least one pack is released every month. Listed so far: the regular PRM-Star value pack and the New Year · Anniversary pack (all prices in NT$).
| Contents | Price NT$ | Avg / star |
|---|
🍀 = cumulative rewards including all previous tiers. Tap a tier to expand. Buying packs also raises your VIP level!
⚠️ Channels without official guarantees carry risk — trade at your own responsibility.
The numbers below are floor prices. Only BRAND items are priced differently — everything else counts as "General". Price adjustments move in minimum steps of 10 stars.
💸 Rainbow Market charges a 30% transaction fee (seller receives = listing price ×70%) — see the Fee converter in the Quick Calc tab.
| Rarity | General | BRAND |
|---|---|---|
| SR | 3200 | 4000 |
| R | 1000 | 1300 |
| N | 310 | 330 |
Rainbow Market prices are more standardized — use these floor prices as a reference for high-age trades or when worried about lowballs.
⚠️ Popular items and high-rarity pieces do not follow these floor prices; if unsure, ask around for people's expectations and compare offers.
Time until the next drop
—
📅 Last updated: 2026-08-04
July's anniversary bag has already arrived; Deux #16 has launched on Aug 1, confirmed as a grey-white lace dollhouse theme — different from the previously-assumed Aug=Fate/dark pattern (#10, #13), so later theme forecasts have been marked down in confidence.
Table is wide — swipe left/right to see it all →
| Brand | Predicted window | Predicted theme · colors | Confidence |
|---|---|---|---|
| Deux #16 | 2026/08/01 – 10/04 Both open and close dates now verified | Confirmed: grey-white lace dollhouse theme, original-color characters Solène / Altel, R eyes Radiant / Radian. Not the previously-predicted dark-gothic continuation — the Aug=Fate/dark pattern didn't hold this time. | Confirmed |
| melem #5 | 2026/11/01 – 2027/01/03 #3/#4 both opened Nov 1; closes the first Sunday of Jan | Red-black evolution, or a new saturated color (deep purple / dark green); likely the next dark fable (mirror → crow → lost sheep → Snow White → ?) | High |
| Deux #17 | 2027/02/01 – 04/04 #11 and #14 both opened Feb 1 | Half of the spring double, paired light/dark with #18 ex; the old assumption was "#16 dark → #17 light", but #16 actually ran light (lace/dollhouse), so the reference point has shifted — holding off on a color call for now | Med |
| Deux #18 ex | 2027/03/01 – 05/02 #12 and #15 both opened Mar 1 | March wafū (sakura slot); the butterfly-moon direction may continue or conclude | Med-high |
| By(e) #4 | ~2027/05/07 – 07/11 launch creeps earlier yearly (05/24→05/09→05/08), always a Friday; closes a mid-July Sunday | Rose or new floral theme; 3-line system continues, older lines may return remixed | Med-high |
Basis: brand baskets always close Sunday 22:59 after ~2 months on sale; the Deux spring slot opens Feb 1 (#11/#14), extras Mar 1 (#12/#15); melem opens Nov 1 (#3/#4); By(e) opens on Fridays, creeping earlier each year. The Deux Aug 1 slot (#10/#13) was assumed to always run a Fate/dark theme, but #16 came out as a grey-white lace dollhouse theme instead — that pattern broke this time, so later theme forecasts are marked down in confidence accordingly. Re-verified 2026/08/02; next check ahead of melem #5's launch (around 2026/11). Reference only — official announcements prevail.
📅 Last updated: 2026-08-04
A: None has rerun so far. Once a basket closes, trading is the only route — and older years are generally more prized. (Per official announcements.)
A: It differs by brand — Deux uses a rolling four-season window (at #16, baskets #13–#16 are dyeable); melem is current-basket only and candles expire the moment the basket ends; By(e) uses keys, so dyeing last season needs a pull in the current one. See "Brand dyeing".
A: Deux requires owning that item's original color; melem's mirror rooms do not require the matching outfit.
A: The color worn in the big preview at the top is the original; the other thumbnails in the grid are dyeable versions. Originals are usually saturated or pure tones (white, silver, black, deep red, pink).
A: Based on past patterns, Deux #16 is expected on 2026/08/01; melem is fixed to Nov 1 and By(e) to May. Full reasoning under "Schedule". For reference only — official announcements rule.
A: No, they won't disappear — stars just aren't shared between platforms. Switch back to your original platform and your stars will still be there.
A: Top-right main menu → Wish List · Duplicate List → "public setting" at the top right of the duplicate list.
A: Top-right main menu → Settings → Auto-set duplicate list.
A: These are trading activities players developed privately — not part of official gameplay; all carry risk, proceed at your own discretion.
A: Settings (gear icon) → Clear cache. It won't delete your game data and solves most issues. ⚠️ Not guaranteed to work every time — contact official support if the problem persists.
A: Log in ➜ main menu ➜ Settings ➜ Issue transfer code.
※ Tip: if possible, issue a fresh code regularly and keep a screenshot — it may help you recover your account if you ever lose access.
A: 18, in four groups — Lines: leading lines, radial/vanishing point, diagonal, horizontal, vertical, cross. Shapes: upright triangle, inverted triangle, group triangle, S-curve, C-curve. Placement: centred, golden-ratio point, edge tension, fill the frame. Rhythm: repetition, broken pattern, dutch tilt.
After analysing, the Composition tab lists all of them: the ones found in your piece light up with a score, the rest stay grey but visible, and tapping any of them jumps to the column for an explanation.
A: Detection needs something measurable in the picture — a C-curve needs a continuous arc, a radial needs several lines converging on one point. Not being detected does not mean the composition is bad; it means that piece did not use that device.
Heavy filtering (bloom, haze, low contrast) also erases edges. When that happens the confidence is lowered automatically and flagged.
A: For most people, "Screenshot / composited layout" (the default) is right.
This choice decides which standards apply: only "A photograph" turns on exposure, focus and foot-room as faults — those are photographic criteria and mean nothing for a drawing or a composited layout. Pick "Drawn by me" for your own illustration.
A: The "In one line" card sits at the very top: overall verdict, the one thing to fix, the one thing to keep. Three lines and you are done.
The four tabs below (Summary / Composition / Colour & light / Detail) are there if you want them; ignoring them costs nothing.
Build a harmonious set from colour-theory rules and keep it for later reference. For anything outside the rules, pick "Free" and add colours one by one.
1. Base colour
2. Harmony
Tap a chip to copy its code. Everything stays in this browser — it is gone if you switch device or clear site data.
Symbols that work well in names, bios and post layouts. Tap one to copy it; tap several to build a string.
Paste any format and the others follow. Accepts #A1B2C3, rgb(161,178,195), hsl(210,20%,70%) and the short #ABC form.
Outside is a list of boards (like forum sections). Open one to enter its own chat room. Admins can create boards. English boards are separate from the Chinese site.
Loading…
Loading…
Loading…
Connecting…
Loading…
Edit after signing in so others can recognise you in each board.
Each site update will be listed here, so you can see the site is actively maintained — bug fixes, new tools, etc.
Fixed: the artwork check told you to enable a feature that no longer exists
Tidied: the Cloudflare files are no longer bundled
Build tag updated to v5.4.5. ZH and EN in sync.
Fixed: site-wide ranking still would not load — a different approach rather than another guess
Build tag updated to v5.4.4. ZH and EN in sync. After uploading, open a few tabs before checking the site-wide ranking — a figure only exists once someone has clicked.
Fixed: the site-wide ranking always said it could not be read
Fixed: the card's description still described the old setup
Build tag updated to v5.4.3. ZH and EN in sync. Site-wide numbers only appear once someone has actually opened a tab — the first one counted will be yours.
Site-wide ranking works out of the box now — nothing to set up
Fixed: the first site-wide render fired twice the requests it needed
Also fixed: the optional Worker lost hits as soon as more than one person used it
ORIGINS allow-list at the top; fill in your own domain and it only accepts browser requests from your site. Honestly: it does not stop anyone calling the API directly. Real protection needs a captcha or accounts, which is beyond a widget like this.Fixed: three front-end problems in the ranking list
Restored: last round's art-check fixes had not been carried over
Build tag updated to v5.4.2. ZH and EN in sync. The site-wide ranking needs no configuration at all — uploading the files is enough to start it counting.
Feature ranking: Mine / Site-wide
GLOBAL_RANK_ENDPOINT is empty.cloudflare-rank-worker.js and the setup notes in the zip.Build tag v5.4.1.
Art check: full judgement overhaul (merged into later base)
Build tag v5.4.0 (later content base + judgement merge).
Expanded: the palette and text libraries behind the random generator
The whole weight table was recomputed, not just extended
Fixed: keyword matching was won by whichever palette was declared first
Fixed: a large block of data had never been translated
typo, evidently left behind while editing. Replaced with a real word.Build tag updated to v5.4.0. ZH and EN in sync; all 88 themes point at palettes that exist, all 70 palettes have five swatches and a weight, and no theme or trait is duplicated.
Improved: the mobile tab menu is now grouped and collapsible
listbox to menu, with aria-expanded and aria-controls added.Fixed: two parts of the artwork check had never actually run
Fixed: illustration mode said it wasn't judging, then marked you down anyway
Fixed: things you could tap that went wrong
( ; ᴗ ; ) became five separate buttons — “(”, “;”, “ᴗ”, “;”, “)” — and copying gave you a fragment. Symbols are separated by one space and kaomoji by two; each kind now uses its own separator.English version: the missing translations
【和】 to [JP], and the copy format now uses English punctuation.Build tag updated to v5.3.3. ZH and EN in sync.
New: smart guide and on-device feature ranking (client-only)
Build tag v5.3.2. ZH and EN in sync.
Fixed: art-check false positives (cross-checked on real plates)
Build tag updated to v5.3.2. If the page still looks old after deploy, confirm GitHub Pages has the new files and force-refresh / clear cache on mobile.
Fixed: "Copied" appeared even when the copy had failed
data-c collision fixed last version, all three copy features were audited. The character generator was correct; the title generator and the workspace plan card were not - errors swallowed by an empty catch, the confirmation sitting outside then() so it showed regardless of the result, and no fallback at all.navigator.clipboard only exists in a secure context, so anyone opening the file straight off disk lost copying entirely while the page kept reporting success. All three now share one helper: use the API where present, fall back to execCommand otherwise (including the setSelectionRange iOS needs), and say "copy failed" plainly when both routes fail. The confirmation only appears once the write has resolved.Expanded: every random pool
Build verification added: all 58 themes point at palettes that exist - a wrong reference would not break the page, it would silently show no swatches. Eleven clipboard tests cover insecure contexts, denied permission, both fallbacks failing, and double clicks.
Fixed
#Piano. They now follow the keyword.Added
Build verification added: every feature declares both its markup and the code that drives it, and the build fails if either is missing. Twice a feature's JavaScript had been deleted while its interface remained - the page looked fine and the buttons simply did nothing.
Performance
<script> tag rather than fetch, because fetch is blocked under file:// - opening index.html straight off disk would otherwise show a broken column.Fixed
<marker id="a2">, but url(#a2) resolves document-wide to the first one. All 275 SVGs now reference only their own definitions.api.anthropic.com - which reasonably suggested the site sends artwork to a third party. It does not, and now it does not look like it might.Fixed
data-c, which collided with the same attribute name used by the "tap to copy" feature in the Naming & Tags tool — a page-wide copy listener was grabbing them too, regardless of context. Quick Calc's tab buttons use the same attribute name and were being caught the same way.data-v, matching its sibling tabs, removing the name collision at the source.Both language versions (including content-zh.js / content-en.js) were updated and syntax-checked.
Fixed
Tested at a 390px-wide mobile viewport — full brand names no longer overlap, and the table scrolls to show everything.
Fixed
Tested at a 390px-wide mobile viewport — no more overlap.
Changed
Both language versions updated together and tested end-to-end (generate / reroll / copy) in a real browser with no errors.
Changed
Fixed
Fixed
td.num), so longer names like "Deux #18 ex" overflowed and overlapped the "Predicted window" column next to it. Brand column now wraps normally again — no more overlapping text.Fixed
Fixed
If the page still looks like the old layout after this update, double-check that the file live on GitHub Pages is this version, and hard-refresh / clear cache on your phone's browser — GitHub Pages can take a few minutes to roll out changes.
Fixed
colgroup), so the "predicted theme · colors" column no longer gets squeezed into a one-character-wide wrap that pushed the whole table off-screen; the date column is narrower and wraps to two lines, freeing up space for the column with the most text.All three came from the same feedback: swipe-based selectors felt tiring on mobile, so this pass moves them toward native dropdowns. Both language versions were updated and syntax-checked.
Added
feature-colorinspire key — it increments by 1 each time a result is generated, shown below the button.The keyword matcher, the image-to-palette nearest-neighbor matching, and the no-immediate-repeat logic for random draws were all tested in Node before being written into the file; both language versions were syntax-checked.
Added
Fixed
This pass re-ran all 26 accumulated sample pieces and manually cross-checked each one, which is how the two bugs above were found.