Composable Commerce

Composable Commerce

Modular and permissionless eCommerce protocol, which allows anyone to build powerful on-chain experiences without needing to write any code.

13
Built at Onchain Summer Buildathon

The problem Composable Commerce solves

Today, online purchases must be made on the same platform they are listed on. For example, something listed on Amazon must be purchased through Amazon. Something listed on a Shopify site must be purchased on Shopify. An Uber driver must sign up for Uber and Lyft if they want to get hired on both platforms.

This is, of course, because platforms are competitive, and there is no credibly neutral place to list things for sale.

Blockchains solve this problem. So I've built an eCommerce protocol on top of Base and the Ethereum Attestation Service that anyone can use.

It's permissionless, credibly neutral, trustless, and modular.

What does this unlock?

Sell anywhere

  • Sell your product on your own website.
  • Sell your product via a Farcaster frame.
  • Sell your product via a Lens action.
  • Sell your product on some product aggregator that you're not even aware of.
  • Sell anywhere; no platform lock-in.

What do I mean by modular?

Products are attestations on the Ethereum Attestation Service. The Ethereum Attestation Service is a composable schema registry that anyone can add to. It also has the capability to run an arbitary smart contract code before any attestation is made. I've made a smart contract that makes it easy to add or remove any number of plugins to any attestation.

Example plugins (could be built)

  • Free sample if you have a Coinbase Verfication plugin
  • XMTP message after purchase plugin
  • Affiliate tracking plugin
  • Loyalty Program plugin
  • Allowlist plugin
  • And many more

Challenges I ran into

The modular design means there are lots of little pieces that need to be created on every new product. This createsa a poor UX when creating a new product.
Two approaches I used to improve the UX are:

  1. Push some things to my backend that didn't need to be signed by the user.
  2. Coinbase wallet batching came very much in handy.

Tracks Applied (5)

Coinbase Smart Wallet

I used the Coinbase Smart wallet to make it easy for users to just create a wallet with a passkey and this also unlocked...Read More

Coinbase Onchain Verifications

I created a plugin that will give people a limited number of discounts, if their address has an onchian verification. I ...Read More

Paymaster and Bundler

I utilized the bundler to do lots of little transactions when a user creates a product. Such as attesting to a products ...Read More

OnchainKit

I used the onchainKit for managing the coinbase Smart Wallet as it was done in the build-onchain-apps starter repo.

Payments Track

This project fits into the payments track, because it opens up the door to new ways that a product can be sold, and ulti...Read More

PAYMENTS with Stripe

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