Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.solvapay.com/llms.txt

Use this file to discover all available pages before exploring further.

Quick comparison

ExampleFrameworkCheckout typeAuthBest for
express-basicExpress.jsPaywall onlyHeader-basedFirst integration and API protection
checkout-demoNext.jsEmbeddedSupabaseFull custom checkout flow
hosted-checkout-demoNext.jsHostedSupabaseFast checkout integration
shadcn-checkoutVite + shadcn/uiEmbeddedSupabasePaste-in Lovable / shadcn projects
tailwind-checkoutVite + TailwindEmbeddedSupabasePlain Tailwind checkout
supabase-edgeSupabase Edge FunctionsEmbedded + webhooksSupabaseFetch-native backend with @solvapay/server/fetch
mcp-time-appMCP AppPaywall onlyOAuth + BearerSmallest UI-enabled MCP app
mcp-oauth-bridgeMCP ServerPaywall onlyOAuth + BearerNon-hosted MCP OAuth bridge
mcp-checkout-appMCP App + Node serverHybrid (embedded + hosted fallback)OAuth + BearerComplete self-serve MCP product
cloudflare-workers-mcpCloudflare WorkersPaywall + UI widgetOAuth + BearerEdge-deployed MCP server
supabase-edge-mcpSupabase Edge FunctionsPaywall + UI widgetOAuth + BearerMCP server at the network edge
supabase-edge-mcp-proxyCloudflare Worker proxyRouting onlyn/aCustom domain in front of Supabase Edge MCP

Prerequisites

  • Node.js 20+
  • pnpm
  • SolvaPay account (for real-backend examples)
  • Supabase project (for Supabase examples)
From workspace root:
pnpm install
pnpm build:packages

Run any example

cd examples/<example-name>
cp env.example .env.local
pnpm dev
Use .env instead of .env.local when the example README says so.

Example notes

express-basic

checkout-demo

hosted-checkout-demo

supabase-edge

  • Fetch-native backend for Supabase Edge Functions using @solvapay/server/fetch
  • One two-line file per handler; solvapayWebhook factory for webhooks
  • README: examples/supabase-edge/README.md

mcp-time-app

mcp-oauth-bridge

mcp-checkout-app

  • Full 5-intent MCP App (plans, checkout, top-up, usage, paywall)
  • Hybrid checkout: embedded Stripe Elements via <PaymentForm> on compliant hosts (basic-host, ChatGPT); auto-falls back to hosted SolvaPay checkout on hosts that ignore _meta.ui.csp (Claude)
  • Ships with createMcpAppAdapter wired to SolvaPayProvider and a paywalled demo toolbox
  • README: examples/mcp-checkout-app/README.md

cloudflare-workers-mcp

  • Single fetch handler built with createSolvaPayMcpFetch from @solvapay/mcp/fetch — OAuth discovery, bridge routes, tool calls, and the widget iframe in one worker
  • Ships a seeded stock-predictor demo toolbox (predict_price_chart, predict_direction) to exercise the paywall end-to-end
  • README: examples/cloudflare-workers-mcp/README.md

supabase-edge-mcp

  • Same toolbox as cloudflare-workers-mcp, deployed as a single Supabase Edge Function
  • Uses Deno.serve(createSolvaPayMcpFetch(…)) from @solvapay/mcp/fetch
  • Pair with supabase-edge-mcp-proxy if you need a custom domain in front of Supabase’s /functions/v1/… URL shape (required for RFC 9728 .well-known/oauth-protected-resource discovery)
  • README: examples/supabase-edge-mcp/README.md

supabase-edge-mcp-proxy

  • Cloudflare Worker that remaps https://your-subdomain/*https://<proj>.supabase.co/functions/v1/mcp/*
  • Fixes OAuth Protected Resource Metadata discovery for MCP Inspector and ChatGPT connectors
  • README: examples/supabase-edge-mcp-proxy/README.md

Next steps