# 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