How to Set Up UGC Rewards

Last updated April 20, 2026

UGC (user-generated content) rewards let you pay customers in Bitcoin for sharing about your business on social media. Every post comes from a verified paying customer — not an influencer, not a bot — and costs a fraction of traditional influencer marketing. Customers submit the link to their post, sats credit instantly, and you can revoke any reward that doesn't belong.

Note: UGC rewards require an active purchase rewards program. Customers earn a share slot each time they make a qualifying purchase, so purchases are the trigger that unlocks the feature.

Step 1: Navigate to UGC Rewards

From your merchant dashboard, go to Loyalty Program and select the UGC Rewards tab. This is where you manage which platforms to reward, how many sats to pay per post, and the optional content guidance shown to your customers.

Step 2: Enable UGC Rewards

Toggle UGC Rewards Program Status to Active at the top of the page. Once enabled, the Share & Earn card will start appearing in your customers' rewards portal after they complete a qualifying purchase.

Step 3: Configure Platforms and Payouts

Pick the platforms you want to reward customers for posting on. Oshi supports 10 platforms for UGC:

  • Instagram
  • X (Twitter)
  • TikTok
  • YouTube
  • Facebook
  • LinkedIn
  • Threads
  • Nostr
  • Telegram
  • Rumble

For each platform you enable:

  1. Set a sats payout — the number of sats a customer earns for each qualifying post. Most merchants pay more for platforms that require more effort (YouTube, TikTok) and less for quick-post platforms (X, Threads).
  2. Toggle the platform on or off anytime without affecting existing submissions.
Tip: Start conservative. You can always raise payouts later if a platform isn't generating posts. If a platform gets too much volume too quickly, lower the payout — your existing submissions stay credited.

Step 4: Add Content Guidance (Optional)

The Content Guidance field lets you leave a short note (up to 500 characters) that customers see when they open the Share & Earn drawer. This is a good place to ask for:

  • Tags or handles (e.g., "tag us @yourbrand")
  • Hashtags you want to rank for
  • Referral links to include in the post
  • Specific products to mention

Customers aren't required to follow the guidance, but most do because they want the reward to stick.

Step 5: Save and Monitor

Click Save Changes to store your configuration. Customers who have made a qualifying purchase will now see the Share & Earn card in their rewards portal the next time they visit.

Reviewing Submissions

Go to the Submissions tab to see every UGC post a customer has submitted. Each row shows:

  • The post URL (one click opens the original)
  • The platform the post was made on
  • The sats amount credited
  • The customer who submitted it
  • A status column (completed, flagged, or clawed back)

Use the filter controls to narrow by platform, status, or time window when reviewing a large volume of submissions.

Clawing Back a Bad Submission

UGC rewards are auto-approved so customers get paid instantly, but you keep full control after the fact. If a post turns out to be fake, has been deleted, or violates your brand guidelines, click the Clawback button on that row. The sats are debited from the customer's balance and returned to your wallet.

You can clawback any time during the reward lockup period. If the customer has already spent part of the reward, the clawback is still processed — any remaining balance is recovered, and the system logs the shortfall.

Built-In Safeguards

A few rules run automatically to keep the program healthy:

  • One share slot per qualifying purchase. Customers can't generate infinite posts — slots only unlock with real transactions.
  • One submission per platform per day per customer. Cooldown prevents spam.
  • Total UGC sats capped by cumulative purchase value. Customers can't earn more in UGC rewards than they've spent with you in USD.
  • Duplicate URL detection. The same post URL can only be submitted once across the entire platform.

These run in the background — you don't configure them.

What's Next

Was this article helpful?