Written by: Cooper Kunz
Whetstone Research is excited to introduce Doppler404 - an extension to the Doppler Protocol. Doppler404 enables token creators to issue assets with unified liquid markets by bridging the gap between non-fungible tokens (ERC-721) and fungible tokens (ERC-20). This provides automated price discovery, sniping mitigation, a unified liquid market, and an improved trading UX over traditional NFTs - in addition to expanding the utility of fungible tokens for a variety of key use cases. Doppler404 is now available for integrations with TypeScript SDK support and a fully featured demo application.
During creation, users can easily define a custom quantity of fungible tokens that result in NFT ownership as inputs into the Doppler protocol contracts. For example you can now easily build an application where holding 100 of a specific fungible token, eg. $ABC, can result in holding an NFT from an art collection called ABC. Simply put, creators no longer have to choose between creating an NFT or fungible token.
Pricing initial NFT or even other coin offerings has historically been a challenge for creators. Pricing too low leaves money on the table, whereas pricing aggressively may upset potential purchasers or loyal community members. Creators can now easily utilize Doppler's static or dynamic auctions in order to find the appropriate values with sophisticated onchain pricing mechanisms, just like Zora creators or content.
If the NFT is traded away, or a sufficient quantity of the associated fungible token is swapped, the balance of the other associated asset will proportionately decrease. This means that Doppler404 based NFTs can always be sold in the form of fractionalized fungible tokens. Through their usage of Doppler, those fungible tokens have best in class price discovery, liquidity bootstrapping and support on AMMs, like Uniswap. This enables the Doppler auction to bootstrap a single market structure providing NFT holders an onchain pool that they can always sell into collectivizing floor price liquidity, essentially providing a traditional DEX or even memecoin-like trading experience to NFT collections.
Applications, wallets, and exchanges can now integrate Doppler404 to enable creation of fungible and non-fungible tokens with unified market structures for entirely novel user experiences. It is just as easy as integrating any other JavaScript/TypeScript library and can significantly expedite time to market.
pnpm add @whetstone-research/doppler-sdk viem
import { DopplerSDK } from '@whetstone-research/doppler-sdk';
import { createPublicClient, createWalletClient, http } from 'viem';
import { base } from 'viem/chains';
// Set up viem clients
const publicClient = createPublicClient({
chain: base,
transport: http(),
});
const walletClient = createWalletClient({
chain: base,
transport: http(),
account: '0x...', // Your wallet address
});
// Initialize the SDK
const sdk = new DopplerSDK({
publicClient,
walletClient,
chainId: base.id,
});
const dynamicBuilder = new DynamicAuctionBuilder()
.tokenConfig({
type: 'doppler404' as const,
name: data.tokenName,
symbol: data.tokenSymbol,
baseURI: data.baseURI || `https://metadata.example.com/${data.symbol}/`,
})
.saleConfig({ initialSupply, numTokensToSell })
.poolConfig({ fee: 3000, tickSpacing: 8 })
.auctionByTicks({
startTick, endTick,
minProceeds: parseEther("100"),
maxProceeds: parseEther("600"),
durationDays: 7,
epochLength: 3600,
})
.withMigration({
type: 'uniswapV4', fee: 3000, tickSpacing: 60,
streamableFees: {
lockDuration: 60 * 60 * 24 * 30,
beneficiaries: []
}
})
.withGovernance({ useDefaults: true })
.withUserAddress(account.address)
.withIntegrator()
.withTime({ blockTimestamp: Number(adjustedTimestamp) })
.build();
View the SDK with support for Doppler404: https://github.com/whetstoneresearch/doppler-sdk-alpha
The react based Doppler Demo Application now supports creation, swapping, and exploring Doppler404 tokens in order to help application developers get started and into production as quickly as possible.
View the code & get started: https://github.com/whetstoneresearch/doppler-demo-app
Review the Doppler404 integration into the demo app https://github.com/whetstoneresearch/doppler-demo-app/blob/5b9de3d459073b06f97dcc30a257b754b8ab9413/src/pages/CreatePool.tsx#L171
Doppler404 builds on top of the foundation of “DN404”, aka ERC-7631 for “Dual Nature Token Pairs", authored in February 2024. With a few modifications, Doppler extends the DN404 token standard allowing users to freeze their token balances, providing what we believe to be a missing user experience improvement over traditional DN404/ERC-7631 tokens, in addition to Doppler's other benefits.
Balance (or asset) freezing is unique to Doppler404, meaning that users can never accidentally trade away NFTs that they wish to hold. This scenario may have previously arisen with some edge cases on DN404 tokens, specifically in the event a user is holding an NFT they do not wish to sell, but swapped away a sufficient number of fungible tokens to reduce their NFT holdings.
Doppler404 is available today on the Base Sepolia test network. It is permissionlessly ready for integrations with any third party applications with support from the latest Doppler SDK which is now available in alpha, in addition to the Doppler Demo App. Production Mainnet deployments are coming in September 2025. Support from Pure Markets and other novel applications are expected 🔜
If you are building &/or working on an EVM compatible network interested in support for Doppler404, please reach out to the Whetstone Research team by sending an email to contact@whetstone.cc.
Austin Adams and z80 recently published a paper on the benefits of fungibility. It is recommended reading if you are interested in learning more about why this is an improvement over traditional NFT market structures and ultimately an important extension to the Doppler protocol we're excited about.
Shoutout to the authors of DN404 & EIP-7631, including: vectorized (@vectorized), Thomas (@0xth0mas), Quit (@quitcrypto), Michael Amadi (@AmadiMichael), cygaar (@cygaar), and Harrison (@pop-punk). Additionally a big thank you to everyone who has contributed to the open source implementation.
Doppler404 was designed and implemented by z80.
Share Dialog
Whetstone Research
Support dialog