The economy: what a price is made of, and what actually pays

A merchant's asking price and a merchant's offer are computed by two different functions that share almost no inputs. This page covers the money outside a sect's own books. sect_building.md covers 资金, 药粮 and 矿石.

The character sheet calls the currency 铜钱; the shop panel calls the same number 金币. They are one attribute.

The two prices

What a merchant charges you for something on its shelf is a number typed into the shop table. Nothing about the item's rolled quality or tier enters it:

ask = shop row's own price
    − 口才/1000 × 0.2 of the line total       (applied to the whole basket, not per item)
    − any percentage money-discount effect you are carrying

What a merchant pays you for something in your bag is computed from the item's base cost and its rolls:

bid = floor( base cost × (1 + 0.15 × Δquality) × (1 + 0.4 × Δtier) )
    + whatever a quest script has set for that item at that character
    then, on the basket total:
    + the 捕快 stunt bonus            (up to +100%)
    + 商道/1000 × 0.2                 (up to +10%)

Δquality and Δtier are measured from the lowest roll that item can produce, not from zero. An item whose quality and tier are fixed (6,580 of the 7,394 items in the table have a single possible quality, and 6,311 a single possible tier) sells for exactly its base cost, forever.

The spread is about half. Across the shop table the typed asking price is a median of exactly 2.0× the item's base cost, with 1×, 2.4×, 2.5×, 2.8×, 3× and 4× as the other common authored values. So the default round trip loses you half of what you paid, and the two trading skills at their caps (−10% buying, +10% selling) narrow that to about 1.64×, not to profit.

The ask ignores the roll and the bid does not. When a shelf item's quality or tier can roll high, you are buying at a flat price and selling at a scaled one. That is the only structural arbitrage in the game, and it is small.

Everything that touches a price, in one table

Input Direction Size Where it applies
shop table's own price column sets the ask authored per row, median 2× base cost shelf items only
item base cost sets the bid the whole of it everything you sell
rolled quality above the item's floor raises the bid +15% a step everything you sell
rolled tier above the item's floor raises the bid +40% a step everything you sell
口才 lowers the ask 0.02% a point, capped at 500 → −10% basket total
商道 raises the bid 0.02% a point, capped at 500 → +10% basket total
擒纵自如 (捕快 stunt, equipped) raises the bid 不夜京贡献值 ÷ 1000, up to +100% basket total
difficulty both see below every money gain or spend
生财有道 / 高门大族 / 天罚 and similar traits both ±20% to ±50% every money gain
a quest script's per-item, per-character override either arbitrary one item at one character
game mode (侠恶江湖 / 真实江湖 / 荡魔江湖) both swaps the whole price table everything

And what does not touch a price, checked the same way the dead attributes were checked in character_build.md, checking every read of the name in the assembly and not just the declaration:

威望 is read in three places and none of them is a price. Two are display, one is a leaderboard sort. 道德 likewise. Sect rank, sect affinity and 正邪 appear nowhere in the shop code. There is no reputation discount in this game.

商道 and 口才 are real, and they are worth ten percent

Both are read. 商道 is read by the sell panel, 口才 by the buy panel, in both shop UIs the game ships. Neither is one of the ten attributes that nothing consults.

商道 bonus = round( basket total × 商道 / 1000 × 0.2 )     added to what you are paid
口才 discount = round( basket total × 口才 / 1000 × 0.2 )  subtracted from what you pay

That is 0.02% per point each way. The character sheet draws both bars against 400, which is not their limit either.

Both are hard-capped at 500, and the cap is in the code that grants them. Every grant runs through one function that refuses to add anything once the attribute is at 500, and clamps back to 500 if a grant overshoots. So the whole of what the two trading skills are worth is −10% on purchases and +10% on sales, and no further.

Nothing else raises them. No equipment affix grants either. The affix table's effect rows were swept for both attribute ids and returned nothing. No item's base attribute group rolls them. The 品性 tab's numbers are transaction-driven and nothing else.

Confirmed in play: the live character reads 商道 500, sitting exactly on the cap the code enforces, and 口才 196, read out of the running game rather than off a table.

How they grow, and the one that grows wrong

Selling adds 商道 by a logarithm of the sale, not by the sale:

gain = max( 1, round( 4.6667 × log10(sale total) − 8.3333 ) )
Sale total 商道 gained
100 1
1,000 6
10,000 10
100,000 15
500,000 18

Which means roughly fifty ordinary sales take you from zero to the cap, and one enormous sale is worth barely twice a small one. There is no reason to hoard for a single big transaction.

Buying adds exactly 1 口才 per purchase, whatever you spent. The purchase handler passes the sell total into the growth curve instead of the buy total; during a purchase that number is zero, and the curve returns its floor of 1 for a zero input. So the discount side of the pair climbs at one point per trip to the shop, so reaching the cap takes 500 separate purchases against fifty sales for 商道. (The one way to hit it harder is to tick items on the sell tab, switch back to buy without selling, and then buy: the stale sell total is what gets converted.)

The largest price lever is not 商道, and it is not on the character sheet

The 捕快 (constable) identity line has five ranks. Its second, 擒纵自如, does exactly what its tooltip says, raising what shops pay you, and the size of it is:

bonus = min( 100%, 不夜京贡献值 / 1000 )

At 1,000 不夜京贡献值 that is +100% on every sale, ten times what 商道 caps at, and it stacks on top of 商道. It has to be equipped to apply.

不夜京贡献值 is granted by exactly one line in the assembly (+1 for winning the 不夜京 arena) and by the bounty board: 127 bounty events grant +20 不夜京贡献值 and +20 捕快 on completion, and six grant +40 of each. So the arithmetic is:

Bounties completed 不夜京贡献值 Sell bonus Also unlocks
13 260 +26% 捕快 250 → 擒纵自如 available
25 500 +50%
35 700 +70% 捕快 700 → 铁口直断
50 1,000 +100% (the cap)

Fifty bounties doubles your income from every merchant in the game for the rest of the save. Nothing else in the economy is close.

Two notes on the rest of that stunt line. 抽丝剥茧 raises the chance a commission pays out one reward tier higher, on the same 不夜京贡献值 ÷ 1000 curve added to a 20% base, so at 1,000 contribution every commission upgrades. And 铁口直断, which the tooltip and every community source describe as lowering the auction house's commission, does nothing: the listing code sets the fee to zero before applying the discount, so the discount is applied to zero and the fee was never charged in the first place.

Five of the nine price hooks in the code have no data behind them

The shop and auction code calls nine named stunt effects. Only four have a row in the stunt table: the three 捕快 ones above and the 打听 discount. The other five (an extra sell-price bonus, a 口才-scaled sell bonus, a Buddhist-study purchase discount, a food-and-drink purchase discount, and the auction success-rate bonus) resolve to zero every time because nothing in the data defines them. A shipped ±5% "merchant price variation" function exists but is never called, and there is no random price jitter between merchants in this build.

What a merchant is

A merchant is a row group in the shop table, hung on a character by an id. 336 of the table's 420 groups are carried by somebody; the other 84 are unreachable, which is why some entries that look like free money on paper are not (below).

Stock. On a refresh the game takes every row in the group whose condition passes, and if there are 30 or more it picks 30 at random; otherwise it takes all of them. Each line is then capped at 45 units no matter what the table says, and 124 rows that ask for more are clipped to 45. The community's "限购 45" is this cap, and it is a stock limit rather than a purchase limit.

The random pick is worth knowing about: the code constructs a new random generator inside the selection loop, once per pick. On this runtime that generator is seeded from the millisecond clock, so all thirty picks in one refresh share a seed and the selection is far less varied than it looks, one random draw fanned out into thirty deterministic choices. Code reading, not measured; the way to check it is to force two refreshes back to back and compare the shelves.

The wallet. Every merchant starts each refresh with a fixed purse, and a sale is refused outright, not partially filled, if your basket total exceeds what is left of it.

Merchants Purse Where
466 of them 500,000 everywhere
老铁匠 50,000,000 (922, 1445)
老药师 50,000,000 (923, 1444)
百晓生 0 — he cannot buy anything from you (1033, 1428)

Those two 50-million purses are the single most useful economic fact on this page. They are the only merchants in the game who will not run out of money, they stand a couple of steps apart, and they are in the starting village. Every other merchant caps your income at 500,000 per restock.

百晓生's purse is blank in the data and parses as zero, so his thirty-line shop is buy-only.

The clock. The refresh interval is a column on the shop row, in units of one 3,600th of an in-game day:

Value Rows Real meaning
3,600 8,390 one in-game day
5,400 7,256 one and a half in-game days
1,200 135 eight in-game hours
1,000 52 six hours forty

Refresh is lazy: the timer is only consulted when you open the shop or the game looks the shop up. Nothing restocks while you are elsewhere; it restocks the moment you walk in with the timer expired.

The paid refresh button costs 300 铜钱, and the price climbs. Each forced refresh raises the next one by 300 (300, 600, 900, 1,200) and a natural refresh resets it back to 300. So the cheap way to spam a merchant is to force a few, leave for a day, and come back. The community describes this button as free and infinitely spammable; it is neither, though at 300 铜钱 it is close enough that the distinction rarely bites. Four forced refreshes cost 3,000 铜钱 in total.

267 rows never restock. A row flagged as a quota carries its remaining count across the refresh: when new stock is built, a quota line copies whatever is left of the old one rather than resetting. Buy those out and they are gone for that character. Opening a shop for the first time deliberately clears the reference that makes this happen; the other path that can create a shop record does not, so a quota line can also inherit a count from whichever shop you last had open.

The buy-back shelf is not saved. Anything you sell goes onto the merchant's buy-back list at twice what he paid you, and that list is written to neither the save file nor the refresh. It survives shop refreshes within a session and vanishes on reload. Neither is the token wallet of a barter merchant saved (only the silver one), so a contribution-hall shop reloads with zero tokens until its own timer expires.

A shop is a barter shop if its first row says so. The currency for the entire shop is read off the first row of the group, so a shop whose opening row names a cost item trades in that item throughout, whatever the rest of the rows say.

167 shop lines can never be restocked, because two parsers read one string differently

1,172 shop rows carry a condition, and every one of them is written in the same shape: a marker, a dialogue id, and a flag. That string is read by two different parsers on two different paths, and they disagree about what the marker means.

1,005 of the conditioned rows name dialogue id 1, so the restock parser asks for one kill and the question is academic. The other 167 name ids between 899,369 and 982,332, read as kill counts, are unreachable. Those 167 lines are therefore never stocked by a refresh, and appear only through the shop-open pass, which adds them to the shelf when the conversation has happened.

The visible symptom: a merchant's rarest goods do not appear when you walk in on a fresh shelf, but do appear on a second look, and they disappear again the next time the shop restocks.

Fifteen of 百晓生's thirty lines are gated this way, including all three of his 10,000-铜钱 books.

The arbitrage, such as it is

Of the 5,947 shop lines that are reachable, carried by a real character and priced in silver, sixteen sell back for more than they cost on a guaranteed roll, and only a handful matter:

Item Ask Sells back for × Stock Sold by
特殊玄脉丹 / 特级神照经残卷 / 经脉详解·卷七 10,000 27,418 2.74 45 each 百晓生 (1033, 1428) — gated, see above
极品玄脉丹 / 极品神照经残卷 / 经脉详解·卷六 7,000 10,546 1.51 45 each 百晓生 — gated
桃花叶配方 2,160 5,135 2.38 1 天机阁
经悟丹 585 1,313 2.24 1 丹师 (723, 767)
花灯配方 150 383 2.55 5 工匠 (185, 658)
远牵衣配方 1,800 2,935 1.63 1 天机阁
逍遥丸配方 / 混元塑骨丹配方 1,800 2,568 1.43 1 each 天机阁
青灵丹 1,170 1,510 1.29 5 three 游方郎中 / 医馆大夫
周天吐纳功 5,000 6,240 1.25 1 杂货商 (1082, 1499)

The 百晓生 rows are the whole story and the rest is loose change. His three tier-seven books at 45 each are 1,350,000 铜钱 in and 3,700,620 out on a one-day restock, if the conversation that unlocks them has happened, and because his own purse is zero the sale has to be made somewhere else. 老铁匠 and 老药师 are 110 units away with 50,000,000 each. That is a code-and-data reading; the gate has not been confirmed in play and it is the one thing that decides whether the route exists at all.

Two smaller cases exist where a lucky roll beats the ask rather than the base roll. 春盟 at 100 铜钱 from the 杂货商 at (214, 652), which sells back for up to 1,440 on a 0.6% roll, and two rows at the 513 group. Not worth chasing.

The same item costs wildly different amounts at different merchants

304 items are carried by more than one merchant at different silver prices, because the ask is a number typed per row rather than derived from anything. The extremes:

Item Cheapest Dearest Ratio
万兽秘技-仙鹿 10,502 (万兽山庄商人) 500,000 (新手村万兽山庄) 47.6×
山膏配方 1,564 (铁匠) 20,000 (钱富贵) 12.8×
罹患配方 1,564 (首饰商人) 15,000 (钱富贵) 9.6×
虾 45 (楚盈袖·淮陵) 400 (郑守业·枰栌) 8.9×
猪 / 鸭 30 (洛锦风·云鹤村) 240 (楚盈袖·淮陵) 8×
茶叶 80 (秦重山·云潇山庄) 600 (楚盈袖·淮陵) 7.5×
丝绸 200 (晏璇玑·不夜京) 1,200 (楚盈袖·淮陵) 6×

The community's advice to leave the starting village before buying skill books is right, and this is why. Note that groceries run the opposite way: 楚盈袖 in 淮陵 is the dearest seller of six different raw foods and the cheapest of one.

Difficulty is a flat tax on money, and the game says so

The five game modes each carry a permanent effect on the money attribute, and the descriptions in the game's own difficulty screen match what the effect rows do:

Mode Effect on money
简单 money spent −25%
标准 none
困难 money gained −20%
极难 money gained −30%
地狱 money gained −40%

These are percentage modifiers on the money attribute, and they apply wherever the code asks for the gain/spend pass, which includes a shelf item's asking price and a bag item's per-unit sale value, but not the final basket transfer, which is deliberately marked to skip it. The practical effect is that the numbers you see in the shop already have the difficulty tax in them.

Three of the four penalty rows are labelled in the data as 感悟 penalties and are wired to money; there are separate, correct rows for 感悟 and 修为 as well, so this is a naming slip rather than a missing mechanic.

Two of the five modes also swap the price tables wholesale. 侠恶江湖 and 真实江湖 each load their own copy of the item table and the shop table, carrying 7,386 and 7,569 items against the standard 7,394 and 15,734 and 15,793 shop rows against 15,833. So base costs and asking prices are genuinely different numbers in those modes, and any figure on this page is a 标准/荡魔 figure. 荡魔江湖 swaps the item table but has no shop table of its own and falls back to the standard one.

Fourteen effects in the spell table modify money by a percentage; four of them are the difficulty rows above. The named ones among the rest: 生财有道 (+20% money gained, granted by three separate talent rows), 高门大族 (+20% money, 修为 and 感悟), 天罚 (−50% money gained), 自力更生 (+30% money spent). These sit on the same mechanism as the difficulty rows and stack with them.

What actually pays

Ranked by what the code and tables can support, with the numbers they use.

1. Selling loot to a merchant. Everything else routes through here, and it is the binding constraint: 500,000 per merchant per in-game day, or 50,000,000 at the two old men in the starting village. With 擒纵自如 at full contribution and 商道 at its cap, a bag of loot is worth 2.2× what it would be bare, because the stunt doubles the total and 商道 takes ten percent of the doubled figure.

2. Killing people. 3,960 of the 18,150 characters in the table have a silver row in their loot group, 1,716 such rows in all. Expectation summed across a group's money rows has a median of about 1,100 铜钱 a kill, an upper bound since a group that picks only a few of its rows will not fire all of them. The guaranteed top of the range is 5,000–7,000 for named bosses: 游逸, 镜无双, 明空大师, 公输弘, 澄道 and 阎法禅师 at a certain 7,000; 重刃, 守魁长老 and 宗和 at 6,000. Money from loot does get the percentage gain modifiers, unlike money from a sale.

3. Killing someone for their inventory. Where the game offers the option, it hands you every item they are carrying, equipment included, plus whatever their own money attribute holds. That last part is normally nothing because a merchant's till is a separate pool attached to the shop record, not to the character, and nothing in the attribute tables gives an NPC money of their own. The inventory is the prize; the 500,000 in the till does not come with it.

4. Quest steps. The largest single silver payouts in the loot table (15,000, 11,250, 10,000, 9,750, and a block of nine at 9,000) sit in groups that only the quest table references.

5. Crafting to sell. The commission fee is a flat number per recipe, median 932, and the item it produces has a base cost a median of 5.75× that fee. 3,375 of 3,395 resolvable recipes produce something worth more than the fee. Making it yourself costs 精力 instead of money and no fee at all.

6. The auction house. It charges nothing, does not touch a merchant's till, and the best listing is worth about 2.75× an item's reference price in expectation.

7. Commissions. 委托 and 悬赏 pay almost entirely in items, not silver, and the main reward groups contain no money rows at all. Their real economic value is the +20 不夜京贡献值 each bounty grants, which is the sell-price multiplier.

8. Gambling. The 不夜京 card game multiplies your stake by the sum of the winning cards' ratios and takes it entirely on a loss. The arena beside it pays 200 铜钱 a win for the first ten wins and 2,000 after that, plus tokens and one point of contribution.

Fishing, the community's headline method, is a loot-group and cooking loop and its ceiling is the merchant wallet like everything else. A claim of a million 铜钱 an hour requires either more than one merchant per hour or the community build's unlimited purses.

Where it goes

Sink Cost Note
打听 — asking the broker where something is (2 + a class factor) × base cost, then × a second class factor — 3.5× base cost for equipment, 2× for materials, 6× for quest items, treasures and manual upgrades by far the steepest per-use charge in the game
Buying anything on a shelf median 2× its base cost
Repairing equipment 30% of base cost, +5% per enhancement level
Commissioning a craft flat per recipe, median 932 free if you make it yourself, at the cost of 精力
Forcing a shop to restock 300, then 600, 900, 1,200 resets to 300 after a natural refresh
One-off story and service charges 1,000 and 20,000 appear as hardcoded amounts

The 打听 charge is reduced by the fifth 捕快 stunt, 断案如神, on a 不夜京贡献值 ÷ 10,000 curve, so at 1,000 contribution it is a 10% discount, not the 100% the equivalent sell bonus reaches at the same number. That difference is a single digit in the data.

Repair is a shop button and nothing else

There is no field repair. Item.Repair() is the only thing that restores durability, and the only path that reaches it is OnRepairBtnClick in the shop view. No consumable repairs a piece, no craft skill does, and no camp or rest step does. The only other writers of m_Durability are item creation and the wear counter.

The button repairs everything you are wearing, not one piece. RepairEquip walks your twelve worn slots, sorts them by how much durability each is missing, and repairs from the most damaged down until a Repair() returns false because you cannot afford the next one. So a short purse buys you the pieces that needed it most.

Durability is a cliff, not a slope. Nothing scales with it. A piece at 1 performs exactly as it does at full, and the only test anywhere is m_Durability > 0. At zero the game takes it off you (装备{0}无耐久,已卸下) and refuses to put it back on (装备无耐久,无法穿戴). It is not destroyed, and its 词条, 强化 and 锋锐 all survive.

Wear is counted in uses, not time, and the counter is per slot:

Slot uses per point of durability
Weapon 250
Body armour 200
Belt, shoes 600
Jewellery 2,000

The two hooks that would have let you reduce wear are dead. ConsumeDurability subtracts the 效果 of custom types 2 (NaijiuXiaohao) and 315 (WuQiNaijiuXiaohao) from that threshold, and stunt_proto carries no row with either subType. The code is there and nothing in the game feeds it, so no 特技 you can learn changes any number in the table above.

What you can change is the durability a piece starts with. Two crafting effects raise it — one lifting 外攻, 耐久, 锋锐 and 坚韧 by 50% on anything you forge, sew or make by hand, and one adding a flat 耐久 bonus to a finished piece. Gear you make yourself goes longer between visits than the same gear bought off a shelf.

The auction house is a free option

Listing at 不夜京 costs nothing. The fee code computes zero and then subtracts a discount from it.

reference price = base cost × a class factor
                  1.0 plain · 1.1–1.3 equipment by slot · 1.2 materials
                  1.2 / 1.3 / 1.5 consumables by sub-class · 1.5 quest items
you may list at anything from 1× to 10× that
success chance = lerp(99%, floor, (your price − reference) / (reference × 9))
   floor = 20% for a 六阶 item, 10% for a 七阶 item, and 0% for everything else

On success you are paid the full listed price. On failure the item comes back. There is no listing fee and no penalty, so listing is never worse than not listing, and the only cost is the wait.

Do not list at the reference price. The chance falls linearly while the price rises linearly, so the product peaks in the middle rather than at either end:

Item Best asking price Chance there Expected return per listing
anything below 六阶 5.0× reference 55% 2.75× reference
七阶 5.5× reference 54% 3.0× reference
六阶 6.1× reference 54% 3.3× reference

Against 0.99× reference for a safe listing at the reference price. Listing at five times the suggested price is worth nearly three times as much per cycle as listing at the suggested one, and the only thing you spend on a failure is the wait for the next auction.

The class factor only exists here. That 1.0–1.5 multiplier by item class is computed by a function the shop path never calls, since the shop's bid reads base cost directly. So the auction's reference price for a quest item is 1.5× what a merchant would pay for it, for a treasure or a manual upgrade 1.5×, for materials 1.2×, and for equipment 1.1–1.3×. Even a cautious listing beats a merchant on every class except plain items, and it does not touch the merchant's purse.

Bidding charges you immediately and refunds you by letter. The money leaves when you place a bid; if you are outbid or the lot fails, the full amount comes back in the mail. The community claim that you are charged whether or not you win is half right: you are charged on the bid, and refunded by letter if you lose.

The shop will sell 414 items the data marked unsellable

The shop that runs filters your bag on "has a non-zero cost" and never looks at the table's own sell-permitted flag. 414 items carry that flag and a cost, so the shop lists them anyway. Among them are skill manuals worth 6,240 to 39,425, including 燎原百击, 万剑归宗, 天剑 and 剑道归一. There is one misclick between reading a manual and selling it, and the flag that was meant to stop that is not consulted.

The old shop panel does check it, but that panel is never opened because nothing in the assembly sets the flag that would bring it up. The same is true of a whole parallel shop implementation with its own price rules, including the class-factor multiplier described under the auction and a 20% discount keyed on a condition string. None of it runs. Anyone re-deriving these numbers should check which of the shop classes has a caller before trusting it.

What the community mod changes, and whether it is on

The installed assembly is currently the vanilla one. The workshop build (item 3490012374, version 163) is downloaded and the apply script is in the project folder, but the file in the game directory is byte-for-byte the vanilla backup. Everything above describes what is running now. What follows is what changes when the patch is applied.

Change What the code does
Merchant purses any merchant whose purse is 500,000 or more is rewritten to 99,999,999 at refresh. 466 of the 469 merchants sit at exactly 500,000 and two more sit above it, so 468 clear the bar and the wallet ceiling is gone for the entire game. It rewrites the prototype, so it persists for the session.
9,999 stacks only items whose stack cap is exactly 99 are raised to 9,999. Everything else keeps its cap.
Shift-select shift-clicking a line in batch mode selects a range. Ticking one line still writes the merchant's whole stock into it, as shops_and_trading.md describes.
自动分解 on sale a checkbox on the sell panel. With it on, any item in your basket that is a craftable recipe output is not sold — it is destroyed and you get back a random 1 to (recipe amount × quantity) of each of its main and fixed materials, and it contributes zero to the sale total.
神兵 protection with the checkbox off, a player-forged 神兵 in a batch selection is silently skipped rather than sold.
最大掉落 when a lucky-drop kill triggers, the mod loots every row in the group instead of rolling each one, three per frame. It only fires inside the lucky-drop branch.
欧皇随机 maxes equipment attribute rolls, weapon power, and affix count and value. It does not touch item quality or tier, so it does not change what a merchant pays for anything.
Right-click teleport costs money; a mobility sink the vanilla game does not have.

The economically decisive one is the first. Without the patch, every income calculation on this page is bounded by 500,000 per merchant per in-game day and the two old men in 云鹤村 are the only way around it. With it, the bound is gone.

What the community says, and what survives

Checked against the fishing-loop guides on 红手指 and 多多云, the attribute rundowns on TapTap and 星界云, the money guides on GamerSky, 3DM and 游侠, the BWIKI 捕快 page, and the workshop page for the mod.

Claim Verdict
商道 "increases the price you sell things at"; 口才 "lowers the price you buy at" Right, and never quantified anywhere. Both are 0.02% a point and both stop at 500 — ±10%, and that is the whole of it
商道 and 口才 are 聊胜于无, worth less than 福气 and 悟性 Right, and for a stronger reason than anyone gives: they are capped, and the stunt that does the same job is worth ten times as much
商道 rises by transacting volume Right in direction, wrong in shape. It rises by the logarithm of the sale, so fifty ordinary sales reach the cap and one huge sale is worth about eighteen points
The 裁缝 stunt 吴锦软云 "raises 商道" (BWIKI) Neither name exists in this build. Neither 吴锦软云 nor 蛮育 is a string in the localisation table, and no stunt in the stunt table grants 商道. And it would be beside the point either way: anything that raises 商道 is bounded by the same 500
Shop refresh is a button you click and can spam It is a button and it costs money — 300, then 600, 900, 1,200, resetting to 300 after a natural refresh. Nobody mentions the cost
Shops auto-refresh once per in-game hour Wrong. One in-game day for 8,390 of the 15,833 rows and a day and a half for 7,256. Eight hours is the third-commonest value and covers 135 rows
限购 45 per merchant Right number, wrong mechanic. 45 is a cap on how many units a line can hold, not on how many you may buy
连锁 / 不连锁 — some merchants share stock A real mechanic under a different name. 267 rows are flagged as quota: their remaining count survives the refresh, so once bought out they stay out
枰栌's Confucian scrolls "refresh infinitely; four refreshes takes 儒学 to 1000" Consistent with the code, and the four refreshes cost 3,000 铜钱 in total
天机老人 charges several times what other merchants do for the same books Right, and it is general. 304 items are sold at different prices by different merchants, the worst by a factor of 47
擒纵自如 "raises the price you sell items to shops for" Right, and it is the single biggest lever in the economy — up to +100%, reachable in fifty bounties. No source gives a number
铁口直断 "lowers the 不夜京 auction commission" It does nothing. The commission is computed as zero before the discount is applied. There is no listing fee to reduce
"You are charged whenever you bid, whether or not you win" Half right. You are charged on the bid and refunded by letter if you do not win
断案如神 "raises forging success rate" (BWIKI) Wrong for this build. It reduces the 打听 charge, on a curve ten times shallower than the sell bonus
Bounties give 贡献点 and 龙角令 Right about the contribution, and the amount is +20 不夜京贡献值 and +20 捕快 per bounty, six of them +40. The 龙角令 half was not checked
天榜 salary can be refreshed by meditating Not in the code. The 侠云录 stipend is a letter every 720 seconds of played time, keyed to your place on the full sixty-name list; nothing else touches the clock. The ladder, the two gatekeepers and the whole payout table are in xiayun_rankings.md
Fishing is the fastest money at ~1,000,000 铜钱 an hour Not contradicted, but bounded: no merchant except the two in 云鹤村 will pay out more than 500,000 per in-game day, so the claim needs several merchants an hour or the community build
Sell everything except high-tier gold items Sound, with a caveat nobody mentions: the shop lists 414 items the data marks unsellable, including manuals worth up to 39,425, and shows no warning
The mod "raises the merchant money cap" Right, and complete: 99,999,999 for every merchant in the game, because all of them sit exactly on the threshold it tests
No published table of price by quality or tier There is one now: +15% a quality step and +40% a tier step above the item's own floor, on the sell side only
No published buy-low-sell-high route Because there is almost nothing to publish. Sixteen reachable shop lines out of 5,947 sell back for more than they cost, and the six that are worth the walk are behind a conversation gate at a merchant with no money

The three things nobody has written down: that the two trading skills are capped at 500 and therefore worth ten percent; that the 捕快 identity is the real price multiplier and bounties are how you buy it; and that 老铁匠 and 老药师 in the starting village are the only two merchants who will not run out of money.

Where this was read

ShopStoreSystem (NormalShopItemPrice, EquipShopItemPrice, GetEquipQuaLvlPriceWithBase, GetWordsPriceByQua, ModPlayerMoney, CreateItemByShopPrototype, Save/Load), ShopStoreData (Refresh, TimeOutToRefresh, CheckConditionItemAndRefresh, OnPlayerSellToShop, AddToStorage, Save/Load), ShopStoreItemData (GetPrice, CalStuntEffectedPrice, OnBuyToDelete, SetDoublePrice), ShopBuyBackData.SetPrice, ShopViewNew (CalBuyPrice, CalSellPrice, Buy, Sell, OnClickRefresh, the bag filter), ShopStoreViewNew (CalSellPrice, ChuShou), ShopHolder, SweetPotato.Item (GetPrice, GetSellPrice, RepairPrice), ItemPrototype (GetCostFactor, GetGouMaiFactor, GetDaTingFactor, GetCost, GetRecyclePrice), SweetPotato.ShopProto (GetRandomShopDatas, GetTableName, ParseCondition), BaseProbability, SweetPotato.AttriManager (AddAttriField, CalculateGrowthValue, ModAttriField, GetAttriGainAdditionRand, GetAttriConsumeReduceRand), StuntManager.GetStuntEffectValue, LootMgr (LootItemsByGroupId, LootOneItem), EntrustManager (GenerateRewardItems, GenerateRewardItems2), BuYeJingManager (PaiMaiHangFinish, OnClickRightGuaPai, OnClickRightJingPai), DaTingItems.GetCostMoney, SweetPotato.Tools (RandomOne, the time constants), ConditionPrototype.CheckOneNewCondDef, AnswerManager.ParseAnswers, and the tables shop, item_base, base_probability, npc_prototype, loot_items, stunt_proto, spelleffect, talent_proto, entrust_event_prototype, living_assemblyskill, wordentry, wordentrytype, dialoguelist, nandu.

What was checked live, and what was not. Three numbers were read out of the running game rather than the code: the character's 商道 500, sitting exactly on the cap the code enforces; 口才 196; and 不夜京贡献值 0, which is where the sell multiplier starts. The currency's name on the character sheet, 铜钱, came from the same read; the shop panel's 金币 is a string-table reading and was not seen on screen. Everything else on this page is a code reading against the shipped data tables, and no price formula here has been measured the way the attribute conversions in character_build.md were. Given that the one measurement in that guide overturned the table it came from, treat the arithmetic here as what the code says rather than as what the game does until each number has been watched happening.

The two specific gaps worth closing first, both cheap to check in play:

The community build was decompiled and diffed against the vanilla assembly for this page, but it is not the assembly that is installed, so nothing in the mod section was observed either.