Skip to content

Offer Review & Deal Negotiation Deployed

For: Casino Operators

Implements: UC-4.1 UC-4.2 UC-4.3 UC-4.4spec →

When streamers send you an offer to join a campaign — or when you invite a streamer and they accept — a negotiation opens automatically. You and the streamer align on five deal terms before funds are locked.

From offer to deal

The old one-click approval flow is replaced by a structured negotiation:

Offer created ──► Accepted ──► Negotiation opens ──► Terms agreed ──► Deal funded
  (by streamer           (by you or                  (both parties           (you lock
   or by you)             the streamer)               approve all terms)       HTLC funds)

The Offers Panel

Select any funded or active campaign and open the Offers tab. Each offer card shows:

  • Streamer info — username, Trust Score, platform badges, follower count
  • Initiated by — whether the streamer applied to your campaign, or you invited them
  • Starting terms — the five deal values the offer was submitted with
  • Offer status — see statuses below

Offer statuses

StatusWhat it means
PendingWaiting for the receiving party to respond
AcceptedOffer accepted; negotiation is open
DeclinedReceiving party said no
WithdrawnInitiating party cancelled the offer
ExpiredOperator-initiated offers expire after 7 days if not answered

Responding to a streamer's offer

When a streamer applies to your campaign they send an Offer including their proposed starting terms (duration, number of streams, minimum viewers, minimum duration per stream, and payment per stream).

  1. Open the Offers panel and click the offer.
  2. Review the streamer's proposed starting terms against your campaign minimums.
  3. Click Accept to enter negotiation, or Decline to reject the offer.

Minimum term floors

Starting terms in any offer are automatically validated against your campaign's minimum term settings. An offer with values below your floors is rejected at submission — you only see offers that clear your floors.

Sending an offer to a streamer

You can invite specific streamers directly from the streamer directory (/streamers).

  1. Open a streamer's profile and click Send Offer.
  2. Select the campaign this offer is for.
  3. Set your proposed starting terms (pre-filled from the campaign's minimum terms).
  4. Add an optional message and set an expiry date (default: 7 days).
  5. Submit — the streamer receives a notification and has until the expiry to respond.

If the streamer accepts, a negotiation opens with your proposed terms as the starting point.

Negotiation

Once an offer is accepted on either side, a negotiation opens automatically. Both parties can propose and approve values for each of the five deal terms:

TermWhat it controls
timeframe_daysHow long the campaign window runs
deliveriesNumber of qualifying streams to deliver
min_viewersMinimum average concurrent viewers per stream
min_durationMinimum length of each qualifying stream (hours)
payment_per_streamUSDC paid per confirmed stream

How turns work

  • The party who sent the offer goes first (their proposed values are pre-approved on their side).
  • The other party can approve individual terms they agree with, or propose a new value.
  • Proposing a new value resets approval on that term — the other party must re-approve the updated figure.
  • Once all five terms have both parties' approval, the negotiation transitions to Agreed.

Cancelling a negotiation

Either party can cancel a negotiation at any time. This does not remove the offer record — a new offer can be created to restart discussions.

Funding the deal

When the negotiation reaches Agreed, the terms are locked and you can fund the deal.

  1. Open the agreed negotiation and click Fund Deal.
  2. Set the on-chain parameters: escrow ID, network, and your funding wallet address.
  3. Confirm the HTLC allocation in MetaMask — this locks the total payment amount on-chain.
  4. The Deal row is created with an immutable snapshot of the agreed terms.
  5. The streamer's delivery panel becomes active.

Agreed terms are immutable

Once a deal is funded, the five agreed term values are frozen. They cannot be changed regardless of any downstream status updates.

KYC required before payout

Streamer KYC must be approved before you can confirm a stream submission and trigger a payout. Submissions can be reviewed freely, but the confirm action is blocked until KYC passes.

Common issues

  • Offer rejected at submission — Starting terms are below the campaign floor; the streamer needs to adjust their proposal.
  • Not enough balance — Your available escrow is lower than payment_per_stream × deliveries. Top up your escrow deposit first.
  • Wallet not connected — Connect MetaMask to proceed with on-chain deal funding.
  • Offer expired — Operator-sent offers expire after 7 days. Create a new offer to re-engage the streamer.

Verifluence Documentation