Sanpo Yoshi
三方よし — “three-way good.” A 250-year-old Japanese business principle that says no transaction is truly successful unless it’s good for the seller, good for the buyer, and good for society at large.
At Specify, this isn’t decoration. It’s the design constraint that every product and pricing decision is measured against. Advertising has spent two decades optimizing for one party at the expense of the other two, and the results speak for themselves: users who hate ads, advertisers who can’t trust their metrics, and publishers who’ve squeezed all the trust out their platform. We think web3 gives us a rare chance to not repeat that.
The three parties
In the Edo-period merchant context, the three “yoshi” were the seller (売り手), the buyer (買い手), and society (世間). On Specify, the mapping is direct:
売り手 — The publisher
Wallets, block explorers, dapps, and other web3 platforms who host advertising inventory. Publishers get paid top rates because our ads perform with efficiency, we don’t serve ads if we don’t think the user is likely to convert. When the advertiser’s campaign performs, the publisher is compensated accordingly — not on a fractional share of a race-to-the-bottom CPM.
買い手 — The advertiser
DeFi projects and web3 builders running campaigns. Advertisers only pay when a user actually transacts with their product. That means the users they acquire are users who chose to engage because the product was a fit, not because they were bribed into submission. No wasted spend on bots, incentive farmers, or disengaged impressions.
世間 — The user, and the broader web3 ecosystem
The user isn’t the product being sold; they’re the third beneficiary. Onchain behavioral targeting means a user sees ads for products that are genuinely relevant to what they already do onchain — a DEX user sees a better DEX, a lending-protocol user sees a yield opportunity that fits their position. Discovery replaces interruption. And because nothing about the model requires harvesting personal data or tracking users across the open web, user’s privacy is preserved.
Why this only works in web3
Sanpo Yoshi has been invoked plenty of times in Web 2.0 advertising, and it has almost always collapsed into marketing language. The reason is structural: in Web 2.0, you can’t prove outcomes without surveilling users, and you can’t pay publishers fairly without trusting a black-box auction. The three parties are set against each other by the architecture itself.
Onchain changes the math. Transactions are publicly verifiable, so “did this user actually use the advertised product” isn’t a data-science inference — it’s a query. That single fact lets us align all three parties:
- The user doesn’t need to be tracked across sites; their relevant behavior is already public and pseudonymous onchain.
- The advertiser doesn’t need to worry about sustainability as they scale; they only pay pre defined costs per acquisition.
- The publisher doesn’t need to worry about low quality advertisements or the trade off for low rates.
What this means in practice
When we work with a publisher we don’t want to place ads in the most annoying spots.
We’ll work with you to ensure ad placement is effective, the right users are being served ads and what projects you don’t want advertising via the moderation dashbaord.
If your users are not happy with the ads we are serving that’s a massive failure of how Specify works - that’s why we put in the effort to make it right from the start.
Further reading
For the historical context, the Shiga University archives on Ōmi merchants (近江商人) are the canonical source. For the web3 application, see our pages on targeting and conversion tracking, which are the two mechanisms that make Sanpo Yoshi implementable rather than aspirational.