Skip to content

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/status

A 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/rank

Terminal 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
  fetchedAt

Only 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.