# Project Calico Calico is a website and web service that maps crypto wallets to Oauth-able identities in web2 services, and provides services to enable use-cases for those mappings, at both the domain and account level. The general pattern should work with any oauth-able web2 website. > Users log in via oauth and register their wallet id. If they meet the criteria for a given disbursement, crypto is deposited into the wallet. We want this to do retroactive grants to contributors to IPFS implementations. Eg, pull the contributor from a set of Github repos and then each contributor can login to claim their FIL. But I've wanted the general pattern to exist for wikipedia, stackoverflow, etc for a long time. This project is to build a core engine for doing this in an abstract way: * criteria/cadence engine * smart contracts managing deposits / escrow / disbursements * oauthable front-end published to IPFS Minimum viable product would implement this for one of the basic use-cases like: > Deposit {n} FIL into wallet > > Set criteria, eg "any account who submitted a PR in Github repo {x} within period {y} - {z}" > > Claimable within 30 days by Github acounts [n] > > Unclaimed FIL at end of period is returned to depositor wallet ## Use-cases Value: Unlock crypto/web3 use-cases for web2 services which do not support web3 technologies yet, primarily for direct rewards in crowdsourced ecosystems: Wikipedia * A donation wallet + smart contract which disburses contents each month to all registered Wikipedia authors, requiring zero changes to Wikipedia, and is opt-in for authors. * Donate directly to a Wikipedia author * Support all authors in a Wikipedia category * Disburse to all authors in a given list who contributed during a specific period of time, such as registrants for a local Wikipedia meetup StackOverflow * Donate directly to the wallet of a StackOverflow user who answered a question * Smart contract which periodically disburses to all wallets of registered StackOverflow accounts which answered questions for a given tag TODO: Write examples for... * Github * Youtube * Twitch * Flickr ## (OLD - needs updating) User Stories As a grant manager: * As an end user: * I can log in with my wallet * I can log in with any of the supported Oauth accounts * xxx (maybe later) As a developer user: * I can log in with my wallet to get an API token * I can call a web service which provides the domain names and account names for a wallet address * I can call a web service which provides the wallet address for a web2 [domain + account name] pair * I can call a web service which provides the wallet ids for a domain name ## Implementation * Web front-end * Web service * Data storage ## Integrations ## Examples Need to ship with 1-2 of the use-cases implemented as examples.