# 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.