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






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
- vivianjeng
68 contributions
- chengggkk
32 contributions