{"signature": "0xda1f6167db929b4c2bf79583abfe9e423e287f1f1221c7fadd112d2548923c2407bba7b0528abe1e3475008e12d31bcad47133a5b4139ef541f42b0366532b9f1b", "application": {"round": "0xe03a19f4921d69cddd37f54dfe814dc66aa92100", "answers": [{"type": "email", "hidden": true, "question": "Email Address", "questionId": 0, "encryptedAnswer": {"ciphertext": "txYBWV9nyompaUI6ntaJK33CE92bqVkmSa7lsWSRIPQ=", "encryptedSymmetricKey": "1f67732fd228bb2da75d924897f3dab1041b173948c82c90a15fd09dc48b7e124ca2af2aa0f0b4734c9b9e257296d314124c0b686a11549c9f4538e8f6b1e9999921122581580f96ec3bb0b6bec39627be0d6241dda95420beb0d9387f0f1cb79f7278f8ce30c4be2ad96a6b1695afd5521068db46bf28d83159316817edc2080000000000000020d3a51b4c70429ecae919b6f5abd67d2570e461f1af50d74210f1c5399b7251e61f235942734c45cffd62f1d9128ed78f"}}, {"type": "short-answer", "hidden": true, "question": "Telegram Handle We Can Use To Contact You(you can answer N/A)", "questionId": 1, "encryptedAnswer": {"ciphertext": "Vkr6kqmtqHA8VbAigw9rpokBIqph5j/bi8XsFLiTbDwp4A6haJNyTC+6IuAysz6s", "encryptedSymmetricKey": "a33fa71b139c6a0ea3bfe3266e04b9a55757d537c9a0774950b352d64da47132fa710b704891b13ad490d416db3c2603834914f09c29a96894ca5b95266ff3bcbfbae22a93daba341406d25dfc06e8995451174a2e08824bbc553c11b9894583015a91ec9962571bd831616bdc4b50abd06f15ef54cf3ae7dd4fbd76488a5bc70000000000000020ca36554733721707d5edf2fe9da85015868206272884f764f0d32f14ef3c992e079f0d3755f931a0192a72712a71758e"}}, {"type": "link", "answer": "https://github.com/c-atts/web", "hidden": false, "question": "Project GitHub Repo (Not Team Page): ", "questionId": 2}, {"type": "number", "answer": "1", "hidden": false, "question": "Total Team Size", "questionId": 3}, {"type": "paragraph", "answer": "kristoferlund, 0xa32aECda752cF4EF89956e83d60C04835d4FA867", "hidden": false, "question": "List the Github Handles and Wallet Addresses of Each Team Member (e.g. owocki - 0x123, kbw  - 0x456):", "questionId": 4}, {"type": "paragraph", "answer": "https://twitter.com/kristoferlund", "hidden": true, "question": "Social profiles (Twitter, Farcaster, Lens, etc.) of other main team members publicly associated with the project (N/A for solo founders): ", "questionId": 5}, {"type": "link", "answer": "https://t.me/+TTwQJIiT6040YmM0", "hidden": false, "question": "Link to your Public Group Chat (e.g. Discord or Telegram)", "questionId": 6}, {"type": "paragraph", "answer": "–", "hidden": false, "question": "If you've participated in past grant rounds, please share any new updates or milestones from the prior months (N/A if you haven’t participated previously). ", "questionId": 7}, {"type": "address", "hidden": true, "question": "If you participated in past grant rounds using a different project payout wallet address, please share it here:", "questionId": 8}, {"type": "paragraph", "answer": "https://catts.run", "hidden": false, "question": "Where should we look to see the impact of your project? Please provide links to public websites and/or the latest values for key metrics you track privately. This might be used in future impact reports", "questionId": 9}, {"type": "paragraph", "answer": "2024-04-01, Dfinity Developer Grant, $25K", "hidden": false, "question": "Total Prior Funding Amounts, Sources, and Dates for the project in USD", "questionId": 10}, {"type": "checkbox", "answer": ["Grants"], "hidden": false, "question": "Which of the following funding sources do you have? Check all that apply", "questionId": 11}, {"type": "number", "answer": "4", "hidden": false, "question": "How old (in Months) is the project?  ", "questionId": 12}, {"type": "multiple-choice", "answer": "Europe", "hidden": false, "question": "Location/Region where the project is based ", "questionId": 13}, {"type": "multiple-choice", "answer": "Yes", "hidden": true, "question": "Have you read and confirmed your grant abides by the Program General Eligibility Policy? ", "questionId": 14}, {"type": "short-answer", "answer": "No", "hidden": true, "question": "Are you applying for any other OSS rounds in GG20? (Reminder: you can only be accepted into one) ", "questionId": 15}, {"type": "paragraph", "answer": "Composite attestations are a new type of attestation combining data from multiple EAS sources to form a unified and verifiable credential.\n\nUse C–ATTS to build your digital identity, your reputation, to prove your credentials!\n\nExample: Mint a C–ATTS attestation that proves that you:\n1 – Have a Gitcoin Passport score > X\n2 – Am a RetroPGF 3 grant recipient\n3 – Have a Coinbase verified wallet\n\nThen use this composite attestation to gain access to some functionality in an app or service.", "hidden": false, "question": "Please describe your dApp or App, focusing on its innovative utility or service within the ecosystem. Highlight the problem it solves or the need it addresses.", "questionId": 16}, {"type": "paragraph", "answer": "C–ATTS will radically simplify for projects and communities wanting to consume and use attestations as a way to learn more about their members.", "hidden": false, "question": "Describe how your application improves user experience in the Web3 space. Include any specific design choices or features that enhance accessibility and practical utility.", "questionId": 17}, {"type": "paragraph", "answer": "Combining insights from attestations spread out over multiple addresses on multiple chains allows users to build stronger digital identities and promotes inclusivity.", "hidden": false, "question": "In what ways does your project contribute to financial inclusion, education, or social impact? Explain the specific areas of impact and the target audience or communities you serve.", "questionId": 18}, {"type": "paragraph", "answer": "MIT, all C–ATTS source code will be permissibly licensed.", "hidden": false, "question": "What type of open source software (OSS) license(s) do you have? Is all of your code available on public repos or is some portion of your codebase private?", "questionId": 19}, {"type": "paragraph", "answer": "In active development, first MVP will be demoed by the end of May.", "hidden": false, "question": "What stage of development is your application currently in, and what are your immediate next steps? Provide a roadmap or development timeline if available.", "questionId": 20}, {"type": "paragraph", "answer": "All funds at the moment goes towards development. At later stages we would need to do some design work and also to bring in other competences: community management, communications etc.", "hidden": false, "question": "How would funding from this round support your project's development and goals? Outline specific areas where the funds would be allocated (e.g., development, user research, community building).", "questionId": 21}, {"type": "paragraph", "answer": "This project is a natural progression from the other projects I have built within the Ethererum Attestation Service space: Praise, Attest Fest, OP Citizens Attestation Explorer.\n\nI am a big believer in attestations as a foundational building block when constructing trust graphs, reputation systems and digital identities. \n\nC–ATTS will radically simplify this process for projects and users when the knowledge and wisdom that is now spread out over chains and addresses can be consolidated into more coherent and usable credentials.\n\nC–ATTS have been accepted into the EAS fellowship and is receiving mentorship and support from the core EAS team as well as a from a really solid bunch of mentors.", "hidden": false, "question": "Anything else you'd like to share about your project, previous work, or other project affiliations? Anything you'd like to add that may help in determining project eligibility?", "questionId": 22}, {"type": "multiple-choice", "answer": "Yes", "hidden": true, "question": "Would you like to opt-in to future messages from Gitcoin for updates, information, and/or interviews? ", "questionId": 23}, {"type": "multiple-choice", "answer": "Yes", "hidden": true, "question": "Would you like to opt-in to us sharing your information with select third-parties for investment opportunities? ", "questionId": 24}], "project": {"id": "0x1aeef6017a648aa54fa27a65664ecb26c34e113c813b05e8d3f16b84cc45c323", "title": "C–ATTS, Composite Attestations", "logoImg": "bafkreiestd54wa6bilkk5nm6ujwmktzlykdw53nerqupyj32g4khuunqbu", "metaPtr": {"pointer": "bafkreifaxmnmvsmfqbiygr7ciewzyb7ljykupaiwhsgaebpyrjjw3lb4zm", "protocol": "undefined"}, "website": "https://catts.run", "bannerImg": "bafkreihax5nfhcxy7gvqwflonmc7g33xita6d64scfallzcedfnyq2pube", "createdAt": 1712733382777, "userGithub": "kristoferlund", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..Ni0YNDhXMm6kYKkyj7hGoq63nljfw5989gtD2BU-J08mGCerhQ4_jnMGA2HzBZMEKfqBarDSqUdNXpfgEvFDDw", "type": "Ed25519Signature2018", "created": "2024-04-10T07:18:37.940Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-04-10T07:18:37.940Z", "expirationDate": "2024-07-09T07:18:37.940Z", "credentialSubject": {"id": "did:pkh:eip155:1:0xa32aECda752cF4EF89956e83d60C04835d4FA867", "hash": "v0.0.0:/8ZzB3vgfWDOv3OdxOYQb5s+8/GnTwz0KeVCUlefkgw=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextGithubOrg#c-atts#9698363"}}, "twitter": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9.._L2H4sfAy_YUf6qFa40rTFg5csVLfHhOiisUSIv-JGL3p1zamYuJgalP-7qylJ3a1HKzl7qPwEf5l_2Jgv3FCA", "type": "Ed25519Signature2018", "created": "2024-04-10T07:18:51.767Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-04-10T07:18:51.767Z", "expirationDate": "2024-07-09T07:18:51.767Z", "credentialSubject": {"id": "did:pkh:eip155:1:0xa32aECda752cF4EF89956e83d60C04835d4FA867", "hash": "v0.0.0:3Uv97O9W/OPCoFvVUzH1W27qWSqeKHD3G8Dd92PlVto=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextTwitter#c_atts"}}}, "description": "Composite attestations are a new type of attestation combining data from multiple sources to form a unified and verifiable credential.\n\nThe [Ethereum Attestation Service](https://attest.org) (EAS) is an infrastructure public good for making attestations onchain or offchain about anything. Attestations can represent identity, reputation, knowledge, and much more. EAS is a tokenless and free service that is available on mainnet, several L2s, and various testnets. EAS is a great service! It is tokenless and free for anyone to use. This means it is being used. A lot!\n\nThere is a universe of attestation data out there. EAS provides an API that allows you to query that data which makes integration into websites and apps easy.\n\nLet’s say I, as an app, want to offer membership to users that meet certain criteria. I my backend, I can use the EAS API to query all attestations that are relevant to my use case. Then, I write some custom logic to process the data and let the outcome of that logic determine if a user is eligible for membership. Easy!\n\nBut, what if I need to show a proof of the outcome of my logic? What if I need to create an attestation that says “This user is eligible for membership”? I can of course easily create that attestation. But, without knowledge of the data I processed or about the processing logic I ran on the data, how can anyone verify that the attestation I created is correct?\n\nWouldn’t it be great if there was a way to create attestations based on the result of custom queries and processing logic and have the result of that logic be independently verifiable? That’s where **C–ATTS**, the Composite Attestations Engine comes in.\n\nCATTS allows for the creation of **composite attestations** based on custom queries and processing logic. Running on the Internet Computer (ICP) as a smart contract canister, it leverages data from existing attestations via the EAS GraphQL API, ensuring that the creation and verification of attestations are both reliable and transparent. The processing logic is defined as a piece of arbitrary JavaScript code, which is executed securely within the canister environment. The engine also provides a receipt for each run, detailing the settings used, which aids in verifying the correctness of the composite attestations.\n\n## Planned features\n- Custom queries: Fetch data from the EAS GraphQL API using custom queries.\n- Custom processing logic: Define custom processing logic to create composite attestations based on the result of the queries.\n- Secure execution: The processing logic is executed securely within the canister environment.\n- Receipts: A receipt is created for each run, detailing the settings used, which aids in verifying the correctness of the composite attestations.\n- Chain agnostic: Run queries on one chain or on multiple chains.\n- Verifiable: The result of the processing logic is independently verifiable.\n- Open: The engine is open source and free to use. Anyone can create and run recipes.\n- Cost effective: Attestation runs can be simulated before they are run. This ensures that the cost of running the canister is minimized.\n\n## Future features\n- Advanced settings:\n  - Allow query chain settings to be overridden on a per run and per query basis.\n  - Allow users to “claim” their composite attestations:\n- Transfers cost of creating attestations to the user.\n  - Allow the user to claim an attestation using multiple addresses.\n- Even more chain agnostic:\n  - Allow the creation of attestations on multiple chains.\n  - Allow querying other attestation services, not just EAS.\n- ZK attestations:\n  - Allow the creation of zero knowledge attestations.", "lastUpdated": 0, "projectGithub": "c-atts", "projectTwitter": "c_atts"}, "recipient": "0xdC81d807F0e1A638DDd5CBF37f1320D86D0dE30C"}}