{"signature": "0x51cbbf5f88b29ddd2a419681a9cebf168a42e35e733b6226c573f76ac6e1b74803f408aa37ff92e8d547ca624efb863ccf69bbea930f672a4ed8c53a429b40901c", "application": {"round": "0x3aA3C6cc0004b7366A12b8E4262015AF525531a9", "answers": [{"type": "short-answer", "answer": "This project introduces an AI-powered tipping agent designed to seamlessly integrate crypto-native monetization and community engagement into X (formerly Twitter). By leveraging G$ and Celo infrastructure, the agent enables peer-to-peer micro-transactions, gamified rewards, and transparent analytics—all accessible via simple X posts.  The agent allows users to set up crypto wallets linked to their X accounts, tip creators instantly using G$, run raffles/giveaways, and withdraw funds to external Celo addresses. Creators can view detailed analytics about their top supporters, while fans are incentivized to engage more through potential rewards and recognition. These features not only empower creators to earn directly from their audience but also cultivate deeper relationships within their communities.  By using G$ as the primary tipping currency, the project drives real-world utility and adoption of the token. It demonstrates how G$ can be used for fast micro-payments on social platforms—promoting financial inclusion and creator independence in a decentralized economy. The frictionless user experience encourages broader participation in the G$ ecosystem, enhancing its relevance and visibility in the crypto space.", "hidden": true, "question": "Project Description: Briefly describe your project and how it enhances G$ utility or adoption", "questionId": 0}, {"type": "paragraph", "answer": "The AI Agent will use the identity-sdk to check that the users that take part in the giveaways are unique and not a bot army so that the giveaway is fair to every participant. The implementation plan is to check if the address that the users use is a verified one.", "hidden": true, "question": "Technical Implementation: Describe your approach and how it integrates with GoodDollar. For new builders, outline your implementation plan. ", "questionId": 1}, {"type": "paragraph", "answer": "Currently, I am the only member on my team and I have experience in front-end, back-end and smart contract development. My github is https://github.com/spyros-zikos?tab=repositories and there you can find all of my projects. The most difficult so far is the stablecoin one https://github.com/spyros-zikos/foundry-defi-stablecoin where I made an ethereum-backed stablecoin. My favorite project is the raffle on https://github.com/spyros-zikos/foundry-raffle where I used chainlink's VRF and Automation Upkeep.", "hidden": true, "question": "Team Capability: Highlight your team's relevant experience and past delivery of similar projects, particularly in the Web3 space or with GoodDollar. Please add relevant links to members GitHub, Twitter, LinkedIn, etc as needed. ", "questionId": 2}, {"type": "paragraph", "answer": "Milestone 1: Make the sdk integration. (1 month)\nMilestone 2: Finish agent development and deploy on Celo and test manually the agent. (1 month)\nMilestone 3: Have an audit and do marketing. (2 month)", "hidden": true, "question": "Roadmap & Milestones: Outline 3-5 key milestones with timeframes demonstrating how you'll deliver value to the GoodDollar ecosystem.", "questionId": 3}, {"type": "paragraph", "answer": "I will use the agent to make marketing giveaways for other users and that will both make users familiar with the agent and will attract a lot of traffic. The metric that is most important is the number of tips that are taking place each day. The marketing giveaways will increase this metric and will educate users on how to use the agent.", "hidden": true, "question": "User Adoption Strategy: How will you attract users to your project and drive G$ adoption? Include specific strategies or metrics. You can find more details on the engagement rewards to support this at: https://engagement-rewards.vercel.app/ ", "questionId": 4}, {"type": "paragraph", "answer": "Identity-sdk integration: $1000\nTesting: $1000\nAudit: $2000-$10000\nMarketing: $1000", "hidden": true, "question": "Funding Allocation: How will you allocate the funding to maximize impact? Provide a simple breakdown of resource allocation. ", "questionId": 5}, {"type": "paragraph", "answer": "Currently, no other tipping agent exists in the GoodDollar ecosystem so it will not compete against other projects but will offer something new to the ecosystem.", "hidden": true, "question": "Ecosystem Contribution: How does your project complement existing initiatives in the GoodDollar ecosystem rather than competing with them?", "questionId": 6}, {"type": "dropdown", "answer": "Yes", "hidden": true, "question": "Ethical Compliance: Confirm you have read and will comply with the ethical standards outlined in the eligibility criteria.", "questionId": 7}, {"type": "paragraph", "answer": "No", "hidden": true, "question": "Additional Info: Is there anything else critical for evaluating your project that wasn't covered in the questions above?", "questionId": 8}], "project": {"id": "0xa379f4cccc0a3d3dd3500682f8daf953cea736f701048602c16a3d2dec1a2ff3", "title": "Tip This Creator", "logoImg": "bafkreianjy55caa6cnoabv3couwmdl2lu4v3tdsnv7nlv3glivjul3kxq4", "metaPtr": {"pointer": "bafkreihpslgikysqbvgpc6aubti4v46maddwj2ywsap6il3prbvkjga4w4", "protocol": "undefined"}, "website": "https://x.com/tipthisc", "bannerImg": "bafkreialtgjgmjrotbhqnqfqmkbk7np6d7npq4zn6wd6z6bigrmcrxagky", "createdAt": 1743877015414, "userGithub": "spyros-zikos", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"type": "EthereumEip712Signature2021", "created": "2025-04-05T18:16:45.306Z", "@context": "https://w3id.org/security/suites/eip712sig-2021/v1", "proofValue": "0x4c14f2a8b865ed755d0585350856bd7e1728b42e6c1b07756fc76d928ddfa53b247b1327d27bde25fbe1c0c1026a815e492d9b03ca65fbeb5de799ee56c2e5f31c", "eip712Domain": {"types": {"Proof": [{"name": "@context", "type": "string"}, {"name": "created", "type": "string"}, {"name": "proofPurpose", "type": "string"}, {"name": "type", "type": "string"}, {"name": "verificationMethod", "type": "string"}], "@context": [{"name": "nullifiers", "type": "NullifiersContext"}, {"name": "provider", "type": "string"}], "Document": [{"name": "@context", "type": "string[]"}, {"name": "credentialSubject", "type": "CredentialSubject"}, {"name": "expirationDate", "type": "string"}, {"name": "issuanceDate", "type": "string"}, {"name": "issuer", "type": "string"}, {"name": "proof", "type": "Proof"}, {"name": "type", "type": "string[]"}], "EIP712Domain": [{"name": "name", "type": "string"}], "CredentialSubject": [{"name": "@context", "type": "@context"}, {"name": "nullifiers", "type": "string[]"}, {"name": "id", "type": "string"}, {"name": "provider", "type": "string"}], "NullifiersContext": [{"name": "@container", "type": "string"}, {"name": "@type", "type": "string"}]}, "domain": {"name": "VerifiableCredential"}, "primaryType": "Document"}, "proofPurpose": "assertionMethod", "verificationMethod": "did:ethr:0xd6f8d6ca86aa01e551a311d670a0d1bd8577e5fb#controller"}, "issuer": "did:ethr:0xd6f8d6ca86aa01e551a311d670a0d1bd8577e5fb", "@context": ["https://www.w3.org/2018/credentials/v1", "https://w3id.org/vc/status-list/2021/v1"], "issuanceDate": "2025-04-05T18:16:45.305Z", "expirationDate": "2025-07-04T18:16:45.305Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x4b82fD44b2530e971EA97bF45b1FbB60DF46C1A8", "@context": {"provider": "https://schema.org/Text", "nullifiers": {"@type": "https://schema.org/Text", "@container": "@list"}}, "provider": "ClearTextGithubOrg#Tip-This-Creator#83170047", "nullifiers": ["v0.0.0:sfG6vJeUv1Ht71OMUcUi8BPFAJQkMMAAsvISoK2g/UA="]}}, "twitter": {"type": ["VerifiableCredential"], "proof": {"type": "EthereumEip712Signature2021", "created": "2025-04-05T18:07:46.673Z", "@context": "https://w3id.org/security/suites/eip712sig-2021/v1", "proofValue": "0xc30a5dae1f9d2173317f6bd352820f5d7a092fb5dc043894ef118bda1f1287a70d99adbdd93a68f65ee43b42a268d98d354a5406f7b0ea8ed25d9c0ea589258f1b", "eip712Domain": {"types": {"Proof": [{"name": "@context", "type": "string"}, {"name": "created", "type": "string"}, {"name": "proofPurpose", "type": "string"}, {"name": "type", "type": "string"}, {"name": "verificationMethod", "type": "string"}], "@context": [{"name": "nullifiers", "type": "NullifiersContext"}, {"name": "provider", "type": "string"}], "Document": [{"name": "@context", "type": "string[]"}, {"name": "credentialSubject", "type": "CredentialSubject"}, {"name": "expirationDate", "type": "string"}, {"name": "issuanceDate", "type": "string"}, {"name": "issuer", "type": "string"}, {"name": "proof", "type": "Proof"}, {"name": "type", "type": "string[]"}], "EIP712Domain": [{"name": "name", "type": "string"}], "CredentialSubject": [{"name": "@context", "type": "@context"}, {"name": "nullifiers", "type": "string[]"}, {"name": "id", "type": "string"}, {"name": "provider", "type": "string"}], "NullifiersContext": [{"name": "@container", "type": "string"}, {"name": "@type", "type": "string"}]}, "domain": {"name": "VerifiableCredential"}, "primaryType": "Document"}, "proofPurpose": "assertionMethod", "verificationMethod": "did:ethr:0xd6f8d6ca86aa01e551a311d670a0d1bd8577e5fb#controller"}, "issuer": "did:ethr:0xd6f8d6ca86aa01e551a311d670a0d1bd8577e5fb", "@context": ["https://www.w3.org/2018/credentials/v1", "https://w3id.org/vc/status-list/2021/v1"], "issuanceDate": "2025-04-05T18:07:46.672Z", "expirationDate": "2025-07-04T18:07:46.672Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x4b82fD44b2530e971EA97bF45b1FbB60DF46C1A8", "@context": {"provider": "https://schema.org/Text", "nullifiers": {"@type": "https://schema.org/Text", "@container": "@list"}}, "provider": "ClearTextTwitter#tipthisc", "nullifiers": ["v0.0.0:dIqNzIyPG01UhGd7va+fZi882aTSg0TrCUxHrcBz3U0="]}}}, "description": "# Problem Statement\nDespite the growing popularity of content platforms like X (formerly Twitter), content creators often face challenges in monetizing their work effectively and engaging their audience in meaningful ways. Traditional monetization methods are limited, slow, and often platform-dependent, creating barriers for both creators and their supporters.\n\nThere is a lack of seamless, crypto-native tools that enable fans to support creators directly, transparently, and in real time. Furthermore, there are few incentives or gamified features that can enhance audience participation and reward loyal supporters.\n\nAdditionally, existing tipping and donation systems do not offer insights into user behavior or history, making it difficult for creators to track engagement or reward top supporters. Withdrawal of funds is often a manual, complex process, especially when integrating with external crypto wallets.\n\nThis project aims to solve these problems by introducing an AI-powered agent that simplifies and enhances creator monetization through the following features:\n\n- Creation of crypto wallets linked to X accounts\n- Instant peer-to-peer tipping in crypto\n- Community engagement tools like raffles and giveaways\n- Detailed tipping statistics and analytics\n- Easy withdrawal of funds to external Ethereum addresses\n\nBy leveraging AI and blockchain, this solution empowers content creators and fans alike with a decentralized, transparent, and engaging support ecosystem.\n\n# About\n\nThis project is about an AI Agent that helps X users support their favorite content creators. It also allows content creators to better monetize their content and to boost engagement. All that with crypto! The Agent can\n1. Create 'twitter' wallets\n2. Send tips from one X user to another\n3. Create giveaways/raffles (for the tippers of a user)\n4. Show statistics about tipping history\n5. Send ETH from 'twitter' account to external address (withdrawal of funds)\n\n# How it's made\n\n- The AI agent is based on a fork of the eliza-starter repository. It implements one provider and four actions.\n- The tips that take place are routed through a smart contract which keeps a 10% fee. This smart contract was developed with solidity using the Foundry framework and was deployed on Base Mainnet. It's main purpose is to collect fees and emit events.\n- The 'twitter' wallets are created and managed with the CPD-SDK.\n- The user statistics and the winner giveaways use The Graph to access and query onchain data.\n- The agent data are stored on two sqlite databases.\n\n# Instructions\n\nHow to use this AI agent for tipping (and giveaways if you are a content creator) with (Base) ETH.\n\n\n1. How to setup your \"twitter\" address/wallet:\n\nYou only have to setup your address if you want to tip someone. If you want to receive tips there is no setup required.\nTo setup your \"twitter\" wallet tag the agent at any post/reply. The agent will tell you your public address. Fund this addess by transfering Base ETH to it from an external wallet (like metamask).\n\n2. How to tip:\n\nBefore tipping make sure that you transfer some funds to your address from step 1.\n\nThe creator that you tip does not need to do any setup/interactions with the agent. Any creator can be tipped.\n\nThe default tipping amount is 0.0004 (~$0.10) but you can tip with less or more than that by specifying the tip amount (see below). If you tip with the default amount but you don't have enough balance, then the tip amount will be equal to you balance.\n\n2.1 Tip by posting\n\nYou can tip by tagging the agent and the creator that you want to tip. Do not tag any other users.\n\nYour message has to indicate that you want to tip the creator. To indicate that, you can\n1) Say nothing (just tag the agent and the creator). Example of such post: \"@agent @creator\"\n2) Provide the amount you want to tip (in ETH) while also tagging the agent and the creator. Examples: \"@agent @creator 0.001\", \"0.001 ETH @creator @agent\"\n3) Say something more descriptive which indicates that you want to tip the tagged creator. Optionally you can include the amount of the tip. Examples \"@agent tip this creator @creator please\", \"could you @agent tip this @creator 0.001 ETH?\"\n\n2.2 Tip by replying\n\nYou can tip by tagging the agent at the replies of a post from the creator of your choice. Do not tag any other users.\n\nYour message has to indicate that you want to tip the creator. To indicate that, you can\n1) Say nothing (just tag the agent). Example of such reply: \"@agent\"\n2) Provide the amount you want to tip (in ETH) while also tagging the agent. Examples: \"@agent 0.001\", \"0.001 ETH @agent\"\n3) Say something more descriptive which indicates that you want to tip the creator that made the post that you're replying to. Optionally you can include the amount of the tip. Examples \"@agent tip this creator please\", \"could you @agent tip this creator 0.001 ETH?\"\n\n\n3. How to withdraw:\n\nTo withdraw you need to make a post that mentions/tags the agent and includes the wallet address that you want to withdraw to. Examples of such posts: \"@agent 0x1231231231231231231231231231231231231231\", \"withdraw 0x1231231231231231231231231231231231231231 @agent\"\n\n4. How to do a giveaway:\n\nWhen you do a giveaway you randomly choose a user from those that have tipped you (any amount) and you send them the balance that you 'twitter' wallet has.\n\nIn order to do a giveaway you need to have been tipped by at least one user.\n\nTo do a giveaway, make a post tagging the agent and indicate that you want to do a giveaway. Examples of such posts: \"@agent giveaway\", \"GIVEAWAYYYY @agent\", \"give awaaaay!!! @agent\", \"yo, @agent do a giveaway now\"\n\n5. How to see the address and/or balance of your 'twitter' wallet\n\nMake a post tagging the agent and asking for your address and/or balance. Examples of such posts: \"@agent tell my balance\", \"balance @agent\", \"show me address @agent\"\n\n6. How to see statistics about your tipping history\n\nMake a post tagging the agent and asking for statistics. Examples of such posts: \"@agent stats\", \"statistics @agent\", \"show me some stats @agent\"\n\n\nNotes:\nThis agent cannot be tipped.\nFee on tips: 10%\nDefault tip amount: 0.00004 ETH (~$0.10)\nWhen calculating the balance of the 'twitter' wallet and when making a tip/withdrawal/giveaway, a small amount of ETH (0.000005 ETH (~$0.01)) is withheld by the 'twitter' wallet to be spent in gas fees. This amount cannot be withdrawn.", "lastUpdated": 0, "projectGithub": "Tip-This-Creator", "projectTwitter": "tipthisc"}, "recipient": "0x4b82fD44b2530e971EA97bF45b1FbB60DF46C1A8"}}