Skip to content

Monetization: Author Guide

Publish an MCP server or agent on Universal API and get paid every time someone uses it. This guide walks through the full author journey: connecting Stripe, choosing a pricing model, offering free trials, and receiving payouts.

How It Works

  1. Build & publish — create an MCP server or agent and set its visibility to public
  2. Connect Stripe — complete Stripe Connect Express onboarding from the Author Dashboard
  3. Set your pricing — per-invocation fees, a monthly subscription, or both
  4. Get paid — subscription revenue flows directly to your Stripe account; per-invocation earnings are paid out monthly

Universal API takes a 20% platform fee; you keep 80%.

Step 1: Connect Stripe

Before you can earn, connect a Stripe account from the Author Dashboard (universalapi.co → Author Dashboard → Connect Stripe), or via API:

bash
curl -X POST https://api.universalapi.co/author/stripe/connect \
  -H "Authorization: Bearer uapi_ut_YOUR_TOKEN"

This returns a Stripe Connect Express onboarding URL. Complete the flow (identity, bank account), then verify:

bash
curl https://api.universalapi.co/author/stripe/status \
  -H "Authorization: Bearer uapi_ut_YOUR_TOKEN"

You're ready when chargesEnabled and payoutsEnabled are both true.

Step 2: Choose a Pricing Model

Pricing is configured per resource via the authorPricing object (set it in the Author Dashboard or when creating/updating the resource).

Per-Invocation Pricing

Charge a small fee every time a consumer calls one of your tools:

json
{
  "authorPricing": {
    "perInvocationUsd": 0.01
  }
}

Consumers pay your fee (converted to credits) on top of the platform's infrastructure credits for each tool call. Good for: utility servers with sporadic usage, expensive backend operations.

Monthly Subscriptions

Offer unlimited access to your resource for a flat monthly price:

json
{
  "authorPricing": {
    "subscriptionPriceUsdMonthly": 9.99
  }
}
  • Minimum price: $0.50/month
  • Active subscribers skip your per-invocation fees entirely (platform infrastructure credits still apply)
  • Payment is a Stripe destination charge straight to your Connect account, with the 20% platform fee deducted automatically
  • Subscriptions renew monthly; consumers can cancel anytime (access continues until period end)

Good for: heavy-usage tools where per-invocation pricing would add up, predictable recurring revenue.

Free Trials

Let consumers try before they buy by setting a trial quota alongside your subscription price:

json
{
  "authorPricing": {
    "subscriptionPriceUsdMonthly": 9.99,
    "freeTrialQuota": 25
  }
}

Consumers get 25 free invocations (author fees waived) before being prompted to subscribe. Trial usage is tracked per consumer per resource.

Combining Models

You can set both — per-invocation pricing for casual users, with a subscription as the better deal for regulars:

json
{
  "authorPricing": {
    "perInvocationUsd": 0.02,
    "subscriptionPriceUsdMonthly": 14.99,
    "freeTrialQuota": 10
  }
}

What Consumers See

On your resource's detail page (e.g. universalapi.co/mcp-servers/{you}/{server}), consumers see:

  • Your pricing (per-invocation and/or monthly subscription)
  • A Subscribe button (Stripe Checkout) if you offer a subscription
  • A free-trial badge with remaining trial invocations
  • Their current subscription status

Step 3: Track Earnings

The Author Dashboard shows invocation counts, revenue, platform fees, and your payout per resource and per month. Via API:

bash
# Earnings breakdown (optionally filter by period)
curl 'https://api.universalapi.co/author/earnings?period=2026-06' \
  -H "Authorization: Bearer uapi_ut_YOUR_TOKEN"

# All your resources with usage metrics
curl https://api.universalapi.co/author/resources \
  -H "Authorization: Bearer uapi_ut_YOUR_TOKEN"

Open your Stripe Express Dashboard anytime for payout details:

bash
curl https://api.universalapi.co/author/stripe/dashboard \
  -H "Authorization: Bearer uapi_ut_YOUR_TOKEN"

Payouts

Revenue TypeHow You're Paid
Monthly subscriptionsStripe destination charge — funds land in your Connect account on each renewal, minus the 20% platform fee
Per-invocation feesAccumulated and paid out monthly to your Connect account

Tips for Earning More

  • Write a great description — resources are discovered via semantic search; clear descriptions of what your tools do drive discovery
  • Include your own API keys (via role tokens) so consumers get a zero-setup experience — "keys-included" servers convert better
  • Use version pinning (versioning docs) so production consumers can pin a stable version while you iterate
  • Offer a free trial — lowering the barrier to first use is the biggest conversion lever
  • Keep it reliable — invocation metrics and error rates are visible; a flaky server loses subscribers

Consumer-Side API

For completeness, the endpoints consumers use to subscribe to your resource:

EndpointDescription
POST /resources/{resourceId}/subscribeStart Stripe Checkout for the monthly plan
GET /resources/{resourceId}/subscriptionGet subscription + trial state
POST /resources/{resourceId}/subscription/cancelCancel at period end

See Also

Universal API - The agentic entry point to the universe of APIs