Terminal 3 supports user event webhooks that notify your application whenever certain user actions occur such as connecting social accounts, updating a user profile, or linking wallets.

These events are delivered as HTTP POST requests to your specified webhook URL.

Note: Please contact the Terminal 3 team to enable webhook access and provide us your webhook URL.


Webhook Security

To protect your webhook endpoint:

  • Ensure your URL is publicly accessible over HTTPS.
  • Secure your endpoint with an auth token provided to Terminal 3.
  • Example Authorization header:
Authorization: Bearer <your_auth_token>

Webhook Payload Structure

Each event sent to your webhook will follow this format:

JSON
{
  id: string;            // ID of the event, in UUIDv4
  type: string;          // Type of the event, e.g., 'CONNECT_TWITTER'
  timestamp: string;     // ISO 8601 format, e.g., '2023-10-05T12:34:56Z'
  payload: any;          // Data associated with the event
  metadata?: {           // Additional information of the user who triggered the event
    user_id: number;
    user_wallet: string;
  };        
}

Webhook Events

Below is the list of supported event types and their detailed payload structures.


Connect Social Account

Sent when a user connects one of their social media accounts.

Event Types:

  • CONNECT_TWITTER
  • CONNECT_STEAM
  • CONNECT_TWITCH
  • CONNECT_TELEGRAM
  • CONNECT_DISCORD
  • CONNECT_GITHUB
  • CONNECT_GOOGLE
  • CONNECT_FACEBOOK
  • CONNECT_LINKEDIN

Payload:

{
  "provider_id": "string"
}

Disconnect Social Account

Sent when a user disconnects a previously linked social account.

Event Types:

  • DISCONNECT_TWITTER
  • DISCONNECT_STEAM
  • DISCONNECT_TWITCH
  • DISCONNECT_TELEGRAM
  • DISCONNECT_DISCORD
  • DISCONNECT_GITHUB
  • DISCONNECT_GOOGLE
  • DISCONNECT_FACEBOOK
  • DISCONNECT_LINKEDIN

Payload:

No payload. The disconnect event contains only id, type, timestamp, and metadata.


Create User Account

Sent when a new user account is created on Terminal 3.

Event Type: CREATE_USER_ACCOUNT

Payload:

{
  "wallet_address": "0x123...",
  "user_id": "string"
}

Update User Profile

Sent when a user updates their profile during onboarding or within the profile edit page.

Event Type: UPDATE_USER_PROFILE

Payload:

{
  "first_update": true,
  "<application>_username": "..."
}

Note: The payload includes client-specific username which is depending on the application.


Connect Wallet

Sent when a user connects an Ethereum wallet.

Event Type: CONNECT_ETH_WALLET

Payload:

{
  "wallet_address": "0xabc..."
}

Disconnect Wallet

Sent when a user disconnects an Ethereum wallet.

Event Type: DISCONNECT_ETH_WALLET

Payload:

{
  "wallet_address": "0xabc..."
}

Need Help?

For setup assistance, webhook secrets, or to register your endpoint, please contact the Terminal 3 support team.