Use case
We use the referral embed for a credit-based rewards program — when users refer friends, they earn platform credits (not cash). The payouts section (Stripe connect, "Receive earnings" quickstart card, "Settings" button on earnings summary) is confusing because we deposit credits directly, not cash payouts.
Proposal
Add a hidePayouts option to programEmbedData (alongside the existing hidePoweredByBadge and leaderboard.mode):
// program-embed.ts
export const programEmbedSchema = z.object({
// ...existing
hidePayouts: z.boolean().default(false),
}).nullish();
When hidePayouts: true:
- Remove "Receive earnings" card from Quickstart
- Hide "Settings" button in earnings summary
- Optionally hide the "Payouts" section if shown anywhere
This is a small, backwards-compatible change — the schema already supports hidePoweredByBadge so the pattern exists.
Context
We're using Dub's partner program with payoutMode: "internal" since we handle rewards as platform credits. The embed is great but the payout-related UI creates user confusion since there's no Stripe payout to connect.
Use case
We use the referral embed for a credit-based rewards program — when users refer friends, they earn platform credits (not cash). The payouts section (Stripe connect, "Receive earnings" quickstart card, "Settings" button on earnings summary) is confusing because we deposit credits directly, not cash payouts.
Proposal
Add a
hidePayoutsoption toprogramEmbedData(alongside the existinghidePoweredByBadgeandleaderboard.mode):When
hidePayouts: true:This is a small, backwards-compatible change — the schema already supports
hidePoweredByBadgeso the pattern exists.Context
We're using Dub's partner program with
payoutMode: "internal"since we handle rewards as platform credits. The embed is great but the payout-related UI creates user confusion since there's no Stripe payout to connect.