# POAP Secure Chat Early Access POAP will soon be able to communicate securely with end-to-end encrypted chat via XMTP. This doc outlines a flow that will be used to onboard early adopters into the experience. ## Goals - Introduce POAP community members to what POAP Secure Chat will entail - Provide an affordance to help a user initialize an XMTP account - Provide the user with a commemorative POAP for joining the early adopter program ## Non-goals - Launch a chat app specifically built for POAP ## Workflow - User visits `https://poap.chat` - Alternatively could be hosted at `https://ea.poap.xyz` (as an early adopter website) - User sees an affordance to "Join Early Adopters" - User clicks affordance - User is asked to connect their wallet - User connects their wallet - User is asked to initialize to XMTP *(language to come)* - A disclosure is displayed, informing the user that they're initializing their messaging keys on XMTP - This disclosure should outline the signatures that will be asked of the user, which will depend on if the wallet has already been registered or not - Once initialized, a message is pre-populated for the user and sent over XMTP to `support.poap.xyz` - "Join POAP Early Adopters" - Message is intercepted by a server that checks `support.poap.xyz` - Option: Wallet address is checked if eligible to join Early Adopter program - This might be good to see if it's just botting the system—maybe only accounts with existing POAPs can join? - Return flow (can be send to only eligible wallets, if desired) - Server generates a claim link - Server sends back a message to the user from `support.poap.xyz` with unique claim link - `Thank you for joining us as a POAP Early Adopter. Redeem your POAP here: http://POAP.xyz/claim/xdzlsl` - On the user's side, this message is interpreted and displayed as a nice button - In other XMTP front-ends they simply see the link - No need to use content-type in this as since the return message to the POAP EA interface is predictable, we can always know what to display and what to replace