popshop*

popshop*

Transform commerce with onchain incentives: real-time rewards, dynamic discounts, and flexible fee share strategies. popshop* empowers anyone to launch shops with decentralized, composable incentives.

273
Built at Onchain Summer Buildathon
OnchainKit - Total Rewards
popshop*

popshop*

Transform commerce with onchain incentives: real-time rewards, dynamic discounts, and flexible fee share strategies. popshop* empowers anyone to launch shops with decentralized, composable incentives.

The problem popshop* solves

popshop* is a platform that enables anyone to create onchain shopping experiences using incentive strategies. These are represented as extensible contracts and attachable to products. This allows open experimentation with different models and keeps the platform flexible.

Why Onchain Shopping

  • *Removes the middleman and delays in rewards/discounts issuance. Reduces potential errors with client-side access gating and discount application mechanisms. Users interact directly with contracts, ensuring immediate application of rewards, fee shares, and discounts based on specific criteria
  • Leverage onchain assets and primitives to create more interesting shopping experiences as the world goes more onchain
  • Smart contract events and the open nature of protocols helps link relevant activity and track the attribution funnel

Customizable strategy types

  1. Fee-Share: Incentivize referrals by sharing purchase earnings/fees
  2. Discount: Offer conditional discounts to encourage purchases
  3. Reward: Provide custom rewards (memecoins, NFTs) to incentivize purchases

Interesting strategies implemented

  • EAS Attestations: Enable user verification mechanisms traditionally found in Web2 commerce. Provide discounts to users with Coinbase verifications, avoiding bots/farmers
  • Variable Rate Rewards: Reward buyers using various formulas, e.g. using a bonding curve on product supply to reward more tokens when supply is higher and incentivize early buyers
  • Variable Fee Share: Payout referrers on conversion (purchase), e.g. increasing payout amount as # referrals grows linearly/exponentially to incentivize KOL/social marketing
  • Time-Based Strategies: e.g. increasing discount over time or applying only during certain periods, similar to Web2 promotions like gradual clearance or Black Friday sales
  • Allowlist: Provide discounts based on ERC20/NFT/address, with variable discounts per user or token ID

Challenges I ran into

popshop* was inspired by the idea of pop-up shops, like the ones at night markets or bazaars. I wanted it to be fun, creative, and highly customizable. Instead of implementing strategies in a hard-coded/restrictive manner, I focused on extensibility, creating building blocks and interfaces for shop owners to design their own strategies.

One challenge was balancing UX and composability for permission management. I wanted strategies to be flexible, composable and modular smart contracts, but also allow admin teams to manage shop updates and strategy configurations in the popshop* dashbord, like extending a time-based discount or increasing discounts for certain buyers.

I decided to associate strategies deployed via the UI to individual shops. This allows us to reuse the shop admin permission model for strategy updates and simplify UX. We can deploy and manage strategies via the UI, but they can't be reused in other shops. For example, a band with a discount strategy for their music NFT holders might need a new merch shop for each concert. Using the popshop UI, they must recreate the strategy for each shop. This approach applies only to strategies launched through the app but makes the popshop management dashboard UX cleaner. I kept the interfaces flexible so you can still deploy your own strategies outside of popshop* and attach them anywhere :>

Another challenge was order and product data management. Typically, we'd use an indexer and query events to track user purchases and product status changes. Since shops are individual contracts deployed via a factory and registered in a registry, the addresses of these sub-contracts may not be known upfront, and many contracts can be created over time. We need a dynamic approach to indexing, such as data source templates. To speed up delivery and reduce infra/backend indexing implementations, I managed more state than necessary in the contract. This is not ideal and limits UI capabilities but makes it less centralized.

Tracks Applied (4)

Coinbase Smart Wallet

Web3 commerce has more friction compared to Web2 commerce due to wallet management. popshop* addresses these problems by...Read More

Coinbase Onchain Verifications

This project utilizes Coinbase verified EAS attestations as a strategy type to offer discounts or rewards exclusively to...Read More

OnchainKit

Web3 commerce has more friction compared to Web2 commerce due to currency onboarding and wallet management. popshop* add...Read More

Commerce Track

popshop* is a platform that enables anyone to create onchain shopping experiences using incentive strategies. These are ...Read More

COMMERCE with Shopify

Cheer Project

Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.

Discussion