---
# System prepended metadata

title: POAP Secure Chat Early Access

---

# 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