Implementing an ecommerce website using DAI only payments?

Hi,

I would like to implement a website where sellers can publish their items (digital goods like 3d print designs, instructables, guides, etc.) for sale, prices are listed in DAI and payments are done using DAI, but I’d also like to allow payments starting from fiat currencies.

My ideal flow would be:

  1. User sees an item of interest
  2. User clicks on buy button
  3. User pays USD, which gets converted to DAI (using coinpayments, sendwyre or similar)
  4. DAI is sent to the seller’s wallet
  5. The item is sent to the user as soon as the transaction is confirmed
  6. Sellers can choose between cashing out or stacking their DAI

Is there a case-study or reference documentation to implement what I am trying to achieve?

I also have several questions about transactions:

  • how “instant” the transaction would be? eth transactions could take several minutes to complete. In this case, how safe would it be to make the item available to the user without awaiting for the official confirmation from the eth blockchain?
  • Once users obtain DAI using coinpayments or sendwyre, how would they get ETH to make transactions to the seller’s wallet? Is there any alternative design like a central contract where users send their DAI and can spend their purchased balance at most, but I can preload some ETH on it for transactions?

I am a SWE but I have no deep knowledge of web3 and blockchain, so please be patient with me :smile:

Thanks in advance!

2 Likes

Hi Rotkev -

There’s a few approaches. The best place to start is this community-generated starting list for merchants in Awesome MakerDAO

A few of our grantees with different takes:

Stablepay
Ramp Network
Ching!

Not grantees, but some others I’ve seen (I have not used them)
Coinbase Commerce
ModuleTrade Marketplace

Definitely do your own due diligence before trusting the third-party services listed, but I think it should be enough to get you started? :slight_smile:

2 Likes

Hey @rotkev - feel free to shoot me an email if you feel like you want to brainstorm the best way to do this further

[email protected]