# feat.press > feat.press is the affiliate marketplace for any product you sell — physical, digital, apps, courses, and more. Builders list offers, affiliates co-promote on co-branded storefronts, and Stripe splits every sale. feat.press (feat.) hosts any product — physical or digital — plus affiliate storefronts, guest checkout, license keys for apps, and payouts. Use the links below to read feat.press developer resources, the OpenAPI spec, authentication, webhooks, and the MCP server. ## feat.press developer resources - [feat.press developer resources](https://www.feat.press/developers): API docs, authentication, webhooks, and MCP for feat.press - [feat.press API docs](https://www.feat.press/developers/api): feat.press HTTP API and OpenAPI specification - [feat.press authentication](https://www.feat.press/developers/authentication): App API keys and license verification on feat.press - [feat.press webhooks](https://www.feat.press/developers/webhooks): Signed entitlement webhooks from feat.press - [feat.press MCP server](https://www.feat.press/developers/mcp): Model Context Protocol docs for feat.press - [feat.press docs](https://www.feat.press/docs): Alias of the feat.press developer resources - [feat.press OpenAPI specification](https://www.feat.press/openapi.json): OpenAPI 3.1 for the feat.press public and merchant API - [feat.press MCP endpoint](https://www.feat.press/mcp): Model Context Protocol endpoint for feat.press - [feat.press MCP discovery](https://www.feat.press/.well-known/mcp.json): MCP server card for feat.press - [feat.press llms.txt](https://www.feat.press/llms.txt): This file - [feat.press full developer markdown](https://www.feat.press/llms-full.txt): Expanded feat.press developer markdown ## Product - [feat.press](https://www.feat.press/): Affiliate marketplace homepage - [feat.press marketplace](https://www.feat.press/marketplace): Live listings to co-promote - [feat.press waitlist](https://www.feat.press/waitlist): Product updates - [feat.press blog](https://www.feat.press/blog): Distribution and discovery essays --- # You built it. Now let people sell it for you. feat.press is the affiliate marketplace for any product you sell — physical goods, digital downloads, apps, courses, memberships, and more. List your product, set a commission, and approve affiliates who get a co-branded storefront in minutes. Buyers check out as guests; Stripe splits each sale. [Apply to sell](https://www.feat.press/apply) · [View the Marketplace](https://www.feat.press/marketplace) ## Who feat. is for feat.press connects three sides of the same sale. Builders bring a product — physical or digital. Affiliates bring an audience. Agents and developer tools read the same public docs, OpenAPI spec, and MCP server that humans see in the product — so listing, promoting, and verifying access does not require a browser. ### Builders Publish any product on feat.press — physical goods, apps, courses, templates, memberships, and more. You set the price and commission, approve who can co-promote, and keep the customer relationship. feat. hosts the co-branded page, guest checkout, license keys for apps, and Stripe payouts. ### Affiliates Browse live offers on the feat.press marketplace, request to co-promote a product you believe in, and receive a branded storefront on approval. You earn the posted commission when a buyer checks out — without running your own merchant account to start promoting. ### Agents and developers feat.press publishes machine-readable developer resources under its own name: OpenAPI at /openapi.json, llms.txt, markdown via Accept negotiation, entitlement webhooks, and a Model Context Protocol server at /mcp. Use them to explain the marketplace, verify licenses, and wire app access. ## How feat. works feat.press runs a short loop instead of a one-off affiliate link. A builder lists a product. An affiliate is approved to co-promote it. feat. forks a co-branded storefront, Stripe splits payment, and the feat. badge on every page sends the next visitor back into that loop. ### List your product Add any product, set a price, and choose a commission. The listing goes live on feat.press with its own public page that affiliates can request to promote. ### Affiliates co-promote Anyone can request to promote a listing. On approval they get a branded storefront in minutes — their name next to yours — without rebuilding checkout or fulfillment. ### Everyone gets paid Buyers check out as guests. Stripe splits each sale between the builder and the affiliate. Digital products deliver instantly; physical orders go to you to fulfill. App products can issue license keys and signed webhooks so your software can grant access. ## The compounding loop Every page carries the feat. badge. So every customer becomes a doorway to the next builder, the next affiliate, and the next sale on feat.press — a distribution loop that compounds instead of a one-time click. ## feat.press developer resources feat.press documents its public HTTP API, authentication, webhooks, and MCP server so agents can integrate without scraping the UI. Read the feat.press developer resources, fetch the OpenAPI specification, or connect to the feat.press MCP server. Markdown is available on this page when a client sends Accept: text/markdown. - [feat.press developer resources](https://www.feat.press/developers) - [feat.press API docs](https://www.feat.press/developers/api) - [OpenAPI specification](https://www.feat.press/openapi.json) - [llms.txt](https://www.feat.press/llms.txt) - [MCP server](https://www.feat.press/mcp) - [Authentication](https://www.feat.press/developers#authentication) - [Webhooks](https://www.feat.press/developers#webhooks) --- # feat.press developer resources feat.press is the affiliate marketplace for products AI helps you build. This page is the developer entry point for the feat.press HTTP API, OpenAPI specification, authentication, entitlement webhooks, license verification, and the feat.press MCP server. ## OpenAPI specification The feat.press OpenAPI 3.1 document is published at: - JSON: https://www.feat.press/openapi.json It describes public marketplace reads, waitlist intake, license verification, and authenticated app entitlement endpoints. ## Authentication Public marketplace reads and license verification do not require an API key. Authenticated merchant-server calls (entitlement lookup, cancel, resume) use the product-scoped feat.press app API key: `Authorization: Bearer feat_live_` Keys are created in feat.press under App access for an app product. Never expose them in a browser. License keys issued to buyers are verified with: `POST https://www.feat.press/api/licenses/verify` ```json { "licenseKey": "…", "productId": "…" } ``` The response is `{ "valid": true, "entitlement": { … } }` or `{ "valid": false }`. Buyer PII is never returned. ## Webhooks feat.press sends signed JSON to the HTTPS endpoint you configure on an app product when entitlements change. Headers: - `feat-signature: t=,v1=` - `feat-event-id`: idempotency id (same as payload `id`) Verify by computing HMAC-SHA256 of `${t}.${rawBody}` with your webhook secret and comparing to `v1` in constant time. Reject timestamps older than 300 seconds with HTTP 400. Duplicates must return 200 without side effects. Event types: `webhook.test`, `entitlement.activated`, `entitlement.renewed`, `entitlement.updated`, `entitlement.cancellation_scheduled`, `entitlement.past_due`, `entitlement.expired`, `entitlement.revoked`. Payload shape: `{ id, type, apiVersion, createdAt, data }` where `data` includes `entitlementId`, `orderId`, `productId`, `buyerEmail`, `status`, and period fields. Official SDK: `@feat-press/node` (`createWebhookRoute`, `Feat.licenses.verify`). ## MCP server The feat.press Model Context Protocol server is at `https://www.feat.press/mcp` (Streamable HTTP, JSON-RPC). Discovery document: https://www.feat.press/.well-known/mcp.json It advertises resources (docs, OpenAPI, llms.txt) and tools for reading feat.press developer material. `resources/list` returns at least one resource. ## Public HTTP API | Method | Path | Auth | Purpose | | --- | --- | --- | --- | | GET | /api/marketplace/listings | none | Browse live listings | | GET | /api/marketplace/listings/{slug} | none | Listing detail | | POST | /api/waitlist | none | Waitlist intake | | POST | /api/licenses/verify | none | Verify a buyer license key | | GET | /api/app-entitlements/{id} | Bearer app key | Entitlement snapshot | | POST | /api/app-entitlements/{id}/cancel | Bearer app key | Cancel at period end | | POST | /api/app-entitlements/{id}/resume | Bearer app key | Undo scheduled cancel | Full schemas: https://www.feat.press/openapi.json ## Agent entry points - HTML: https://www.feat.press/developers - feat.press API docs: https://www.feat.press/developers/api - feat.press authentication: https://www.feat.press/developers/authentication - feat.press webhooks: https://www.feat.press/developers/webhooks - feat.press MCP server: https://www.feat.press/developers/mcp - Markdown: `Accept: text/markdown` on this URL, or https://www.feat.press/developers.md - llms.txt: https://www.feat.press/llms.txt - MCP: https://www.feat.press/mcp