Discounts
Fixed or percentage offers, eligibility rules, limits, stacking, and atomic redemption.
Run vouchers, gift cards, loyalty, and referrals behind one typed API. OfferKit is MIT-licensed, agent-ready, and yours to deploy.
REST API
OpenAPI 3.1 from the live contract
TypeScript SDK
Types without a codegen step
CLI
Back-office actions from the terminal
MCP server
Agent tools with explicit risk metadata
Replace scattered checkout conditionals and one-off admin tools with a system your team can inspect, test, and operate.
Fixed or percentage offers, eligibility rules, limits, stacking, and atomic redemption.
Stored balances with partial spend, an immutable ledger, expiration, and rollback safety.
Programs, tiers, earning rules, rewards, member ledgers, and points expiration.
Stable referral codes, idempotent conversion, and configurable rewards for both sides.
Checkout logic needs clear outcomes under retries, concurrency, and partial failure. OfferKit makes those constraints part of the contract.
Read the API conventions/api/v1/vouchers/SUMMER10/validateconst preview = await offerkit.vouchers.validate({
code: "SUMMER10",
order: { amount: 9999, currency: "USD" },
});/api/v1/vouchers/SUMMER10/redemptionconst result = await offerkit.vouchers.redeem({
code: "SUMMER10",
order: { amount: 9999, currency: "USD" },
idempotencyKey: "order-42",
});/api/v1/vouchers/WELCOME/explainconst decision = await offerkit.vouchers.explain({
code: "WELCOME",
customerId: "cus_88",
order: { amount: 2400, currency: "USD" },
});/api/v1/events?subject=order-42const events = await offerkit.events.list({
subject: "order-42",
types: ["redemption.accepted"],
});Start locally, keep the contract stable, and deploy OfferKit wherever your stack runs.