โ† Back to home

Century Pay

A discord bot to let users pay in discord! The bot will let users sign transactions with their wallets and send transaction.

Screenshots

Century Pay screenshot 1
Century Pay screenshot 2
Century Pay screenshot 3
Century Pay screenshot 4
Century Pay screenshot 5
Century Pay screenshot 6

Problem Statement

IntroductionCentury Pay is aDiscord botdesigned to simplify on-chain payments. Users can effortlessly connect their wallets and perform transactions using simple Discord commands. Whether it's sending ETH, accessing a faucet, or staking ETH for the ETHGlobal hackathon, Century Pay streamlines the process.Thanks to the integration withAA wallets, on-chain interactions have never been easier. Users can sign in securely with a passkey, and their gas fees will be covered by a paymaster. When interactions require sending valuesโ€”such as voting or minting NFTsโ€”the bot provides clear guidance to help users navigate smart contract interactions seamlessly!Features/connectDescription: It let a user to connect to a wallet, and the bot will save the user's address in database (for the future usage)./checkDescription: It let a user to check which wallet he/she is connecting to. It outputs an Ethereum address./sendDescription: It lets the sender to specify the receiver's address and how much will be sentInputsamount:stringparse ETH in stringe.g.0.001means 0.001 ETHto_address:stringEither an Ethereum account or tag a usere.g.0x123...or@vivi432After a transaction is sent, it notifies both sender and receiver with a private chat message./faucetDescription: It automatically sends some ETH (0.001 ETH) to the user's wallet if the user has connected to an address.Options:Sepolia,OptimismSepolia,BaseSepolia/createVoteDescription: It enables each user to create a vote session and everyone can join the vote by an AA wallet.Inputstopic:stringThe topic to be voted foroption1,...,option10:stringThe candidates of the votemin: 2, max: 10/voteDescription: It allows users to find which vote session is happening, and users can vote for the specified session. After users choose an option, the bot redirects users to confirm the vote with an AA wallet.SelectorstopicThe topic of the voteoptionThe option of the vote/tallyDescription: Users can close the vote session with the tally command. It also redirects the user to connect an AA account to confirm the transaction./resultDescription: Users can view the result of every finished vote session.Selectorstopic- The topic of the voteAuthenticationThe wallet authentication should be connected through an embedd frontend framework. Here is an example of usingAlchemy Embedded AccountthroughPasskeyauthentication.

Solution

Alchemy Embedded Accounts: Alchemy provides AA accounts infrastructure and its gas master. It allows users to send transaction without having ETH at first.Base smart wallet: It is one of the AA accounts infrastructure. It allows users to create an smart wallet easily.WalletConnect: We use the wallet connect frontend components to let users connect their own wallets. It supports many networks and many wallets.Blockscout: Blockscout makes users' transactions more visible and clear in this app and it supports multiple chains.Discord bot: The discord bot is used to handle the requests and send responses to users.Mongodb: It handles user's data and connect the discord bot and the Century Pay website.

Hackathon

Superhack 2024

2024

Prizes

  • ๐Ÿ†

    Use Blockscout Block Explorer!

    Blockscout

  • ๐Ÿ†

    Best UX/UI in DeFi

    Mode

  • ๐Ÿ†

    Best apps built for payments on Base

    Base

  • ๐Ÿ†

    ๐Ÿ† Superhack 2024 Finalist

    ETHGlobal

Contributors