Appearance
Terminal Integration
Status: draft for alignment
Related docs: High-Level System Design, User Service + Auth
Scope
TerminalIntegrationService owns MegaETH Terminal profile linking, authorization status, optional points/rank display, and broad in-app Terminal messaging.
It does not own Pump Party login, sessions, clone ownership, or product authorization.
Domain Boundary
Keep two identity domains separate:
text
Pump Party identity
-> users, linked wallets, sessions, ownership checks
MegaETH Terminal identity
-> Terminal profile, OAuth linking, points/rank/statusA wallet address can connect the two domains, but it should not become the universal primary key.
Terminal OAuth Flow
text
User is signed into Pump Party
-> frontend starts Terminal OAuth flow
-> user authorizes wallet/profile link with Terminal
-> Terminal redirects back to Pump Party
-> backend stores Terminal link/status/token metadata
-> UI can show Terminal linked state and optional points/rankTerminal OAuth is for Terminal profile linking and points attribution. It is not the Pump Party app session.
Setup Requirements
Before implementation:
- Use MegaETH Terminal client ID:
pumpparty. - Provide MegaETH at least one redirect URL for the OAuth return flow.
- Confirm whether points/rank APIs require storing an API token.
- Confirm token lifetime, refresh behavior, and revocation behavior.
Data Model
text
terminal_connections
userId
terminalProfileId
walletAddress
status
accessTokenEncrypted
linkedAt
lastSyncedAt
terminal_profile_snapshots
userId
rank
points
multiplierStatus
fetchedAtOnly store profile snapshots if the product needs to display points/rank in-app.
UI Guidance
Use broad, approved messaging:
text
PumpCannon is live on Terminal.
Connect your wallet to your Terminal profile.
Head to terminal.megaeth.com to track points, rank, and ecosystem updates.Useful surfaces:
- Banner, toast, or notification linking to Terminal.
- Terminal linked/unlinked status in account settings.
- Optional points/rank card if the OAuth SDK/API supports it.
Do not show exact point criteria, hidden eligibility rules, or internal program mechanics.
Confidentiality
Terminal program details are internal. Public product copy should stay high level and should not disclose private criteria, weighting, or privileged program details.