Support This App
You can ask users to contribute to your app’s development by adding the “support this app” feature. This allows users to support your app with Reddit Gold in exchange for some kind of award or recognition.
Requirements
- The “Support this App” purchase button must meet the Developer Platform’s design guidelines.
- You can choose to give something in return to users who support your app. This could be unique custom user flair, an honorable mention in a thank you post, or another creative way to show your appreciation.
- If you choose to not give the user anything for supporting your app, ensure that it's clear to the user that they are contributing to a "tip jar" without receiving anything in return.
How to integrate app support
Create the product
Use the Devvit CLI to generate the product configuration.
devvit products add support-app
Add a payment handler
In Devvit Web, the payment handler is your server’s fulfill endpoint. That’s where you award the promised incentive (e.g. custom user flair). Implement it in your server and reference it in devvit.json under payments.endpoints.fulfillOrder.
Example: award custom user flair when a user completes a support purchase:
import type { PaymentHandlerResponse, Order } from "@devvit/web/server";
import { reddit } from "@devvit/web/server";
app.post("/internal/payments/fulfill", async (c) => {
const order = await c.req.json<Order>();
const username = order.userId; // or the username field on the order
if (!username) {
return c.json<PaymentHandlerResponse>({
success: false,
reason: "User not found",
});
}
const subredditName = order.subredditName ?? order.subredditId;
await reddit.setUserFlair({
text: "Super Duper User",
subredditName,
username,
backgroundColor: "#ffbea6",
textColor: "dark",
});
return c.json<PaymentHandlerResponse>({ success: true });
});
Initiate purchases
Provide a way for users to support your app from your client:
- Devvit Web: Add a button or link that calls
purchase("support-app")from@devvit/web/client. Handle the result (e.g. show a toast on success). Optionally fetch product info from your/api/productsendpoint to display the support option. - Follow the design guidelines when initiating purchases.

Example client code:
import { purchase, OrderResultStatus } from "@devvit/web/client";
async function handleSupportApp() {
const result = await purchase("support-app");
if (result.status === OrderResultStatus.STATUS_SUCCESS) {
// show success, e.g. toast: "Thanks for your support!"
} else {
// show error or retry (result.errorMessage may be set)
}
}
Example
At r/BirbGame, they created the Birb Club. Members can join the club and get exclusive flair to support the app.

