Skip to main content

Overview

X integration is a distribution and engagement layer on top of the Mouth protocol. The web app is the core product; X makes it viral.

The Mouth Bot (@MouthBet)

The Mouth bot is an automated X account that:
  • Monitors mentions of @MouthBet in tweets and replies
  • Posts bet links when a bet is created referencing a tweet
  • Notifies opponents when they’re challenged
  • Announces results when bets are resolved

Interaction Flows

Creating a Bet from X

@cryptoguru: "Monad FDV will be under $1B in 3 months, I'm calling it"

    └── @user: "@MouthBet I'll bet $500 against this"

            └── @MouthBet: "🎯 @user wants to bet $500 against @cryptoguru

                            mouth.bet/bet/abc123

                            Put your money where your mouth is."
At this point, the bot has created a Draft in the backend and assigned a permanent URL. Both the Challenger and the opponent use the same link:
  • @user clicks it → sees the form to finalize the bet and deposit USDC
  • @cryptoguru clicks it later → sees the bet details and “Accept Bet” button
No second tweet or link is needed.

Bet Accepted

Once both sides have deposited, the bot can optionally post an update:
@MouthBet: "🔒 It's on! @user vs @cryptoguru

            💰 $500 each ($1,000 pot)
            📋 'Monad FDV under $1B by June 1'
            ⏰ Resolves: June 1, 2025

            mouth.bet/bet/abc123"

Bet Resolved

@MouthBet: "✅ RESOLVED: @user wins!

            Monad FDV: $1.3B (above $1B)
            @cryptoguru's prediction was wrong.

            💰 @user takes home $980

            mouth.bet/bet/abc123"

Bot Behavior Rules

TriggerBot Action
User tags @MouthBet in a replyCreate Draft, reply with bet URL (mouth.bet/bet/{id})
Bet finalized by ChallengerSame URL now shows bet details to opponent (no new tweet needed)
Opponent accepts betPost confirmation with both handles and bet details
Bet expiration reachedPost that the bet is being resolved
Bet resolvedPost result, tag both parties, show payout
Bet cancelled/expiredPost cancellation notice (quiet, no drama)

What the Bot Does NOT Do

  • Does not handle any funds or wallet operations
  • Does not resolve bets (that’s the resolution engine)
  • Does not create smart contracts directly
  • Is purely a notification and engagement layer

Social Features

Shareable Bet Cards

Every bet has a unique URL (e.g., mouth.bet/bet/0x1234) that generates a rich Open Graph card when shared on X:
  • Bet title
  • Amount
  • Both parties’ X handles and avatars
  • Current status (Pending / Active / Resolved)
  • Countdown to expiration

Profile Pages

Every Mouth user has a public profile at mouth.bet/@handle showing:
  • Win/loss record
  • Total volume bet
  • Active bets
  • Bet history
  • Win streak

Leaderboard

A public leaderboard at mouth.bet/leaderboard showing:
  • Top winners (by profit)
  • Most active bettors
  • Longest win streaks
  • Highest volume