# CROW A marketplace for physical goods using an escrow (hence CROW) based model for payments. github.com/crow-labs ## Idea ### Short term Amazon-like marketplace where listed items and transactions are stored and manipulated on a blockchain. ### Mid term eBay-like marketplace where listed items can be sold in an auction. ### Long term Point of sale transactions for brick and mortar stores. Payment, from the user's perspective, can be in any IBC denomination with a sufficiently funded Osmosis pool. Using ICA & IBC forwarding and/or grants, the payment received in the escrow address will be in the denomination determined by the producer upon listing the item. ### Description - We have producers and users whitelists as well as a marketplace - A producer is a whitelisted address that can list goods on the marketplace - A user is a whitelisted address that can buy goods on the marketplace - The marketplace stores listed items - Governance settles disputes between users and producers - Item did not arrive - Item is not as described - Item is damaged - Staked addresses can vote for governance and are rewarded for participating in settling disputes ## Events - Whitelist producer - Governance - Whitelist user - Governance - List item on marketplace - Producer - Update item price on marketplace - Producer - Remove item from marketplace - Producer - Buy item on marketplace - User - Escrow user funds - User - Item shipped - Producer - Item arrived - Producer - Confirm item received - User - Dispute item received - User - Return escrowed funds to user - Governance - Send escrowed funds to producer - Governance/Marketplace - Jail user - Governance - Jail producer - Governance - Determine refund - Governance - User confirmation timeout - Marketplace ## Dispute Types ### Item Did Not Arrive - User provides a link to a commonweath post with evidence* that the item did not arrive and the ID for the escrowed funds - Governance votes for user - Escrowed funds are returned - Producer is jailed* - Governance votes for produder - Escrowed funds are sent to the producer - User is jailed* ### Item Is Not As Described - User provides a link to a commonweath post with evidence* that the item received is not as described - Governance votes for user - Determine refund amount - A new vote for the amount to be sent back to the user from the escrowed amount and the amount, if any, to be sent to the producer - Amount is determined by discretizing the ecrowed amount with votes being cast for a certain refund bucket. The plurality determines the amount to be refunded. - Producer is jailed* - Governance votes for producer - Escrowed funds are sent to the producer - User is jailed* ### Item Is Damaged - User provides a link to a commonweath post with evidence* that the item was damaged upon arrival - Governance votes for user - Determine refund amount - A new vote for the amount to be sent back to the user from the escrowed amount and the amount, if any, to be sent to the producer - Amount is determined by discretizing the ecrowed amount with votes being cast for a certain refund bucket. The plurality determines the amount to be refunded. - Producer is jailed* - Governance votes for producer - Escrowed funds are sent to the producer - User is jailed* ## Stored Data ### Marketplace - List of listings ### Producer Whitelist - List of addresses and their jailed status ### User Whitelist - List of addresses and their jailed status ## Processes ### List item ### Buy item