Features
Four things Parka does
Parka runs partner and affiliate programs for SaaS teams on Stripe. Four parts make up the product.
Referral links and Stripe subscription attribution
Issue referral links and coupon codes for each partner relationship. Parka records every click as a referral touch. The first qualifying touch inside the program window wins the customer. The referral code rides the Stripe Checkout session onto the subscription, so renewals stay with the same partner for the duration the rulebook sets.
- Links
- Scoped to one workspace, one program, one partner relationship and one product
- Window
- First qualifying touch wins inside a 90-day default window
- Precedence
- A prior direct sale or prior CRM opportunity overrides a referral touch
- Renewals
- Attribution stays on the Stripe subscription across recurring payments
An append-only commission ledger
Parka reads payment events from Stripe and writes one commission entry per collected payment. Each entry points to the Stripe event id and the active rulebook version. A refund or dispute appends a correction entry and leaves the original commission untouched. When an event has missing, revoked or ambiguous evidence, Parka records a hold and posts nothing.
- Entries
- Immutable commission records in whole minor currency units, never floats
- Corrections
- Refunds, disputes and recurring duration limits append a correction row
- Holds
- Events that do not match a valid referral wait in a hold queue for a person
- Database
- The runtime role holds SELECT, INSERT and UPDATE grants, with no DELETE
API, CLI and MCP, the same program on each
Every action in Parka is a declared capability with one id across the HTTP API, the terminal CLI and the MCP server. All three surfaces run the same authorization checks and return the same refusal code for the same error. Your agent can create programs, invite partners, issue links, read ledger balances, explain entries and draft new rulebook versions.
- API
- POST /v1/invoke authenticated by a workspace bearer key
- CLI
- Terminal commands with JSON output and deterministic exit codes
- MCP
- POST /mcp serving tools/list and tools/call on the same listener
- Refusals
- One machine-readable refusal name across all three surfaces
A person approves money. The agent cannot.
Capabilities that activate commission terms, approve commissions, record payout receipts or grant credentials are human gates. When an agent calls a human gate, the dispatcher freezes the input, creates an approval request and executes nothing. A person inspects the open request and approves or rejects it. Parka never holds funds or sends payouts.
- Terms
- An agent drafts a rulebook version. A person activates it.
- Commissions
- An entry becomes payable only after a person approves it.
- Payouts
- You pay partners on your own rails. A person records the receipt.
- Credentials
- An agent cannot mint a key, grant access or approve its own request.