---
name: creem
description: Use when the user mentions Creem, creem.io, Creem CLI, or wants to integrate Creem payments, manage a Creem store, or monitor Creem subscriptions and transactions.
enabled: false
source: github:JuanJoseGonGi/skills
imported-from: github:JuanJoseGonGi/skills
---

# Creem - Merchant of Record for SaaS

Creem is a Merchant of Record (MoR) for SaaS and digital businesses. It handles payments (one-time and recurring), subscriptions, global tax compliance (190+ countries), chargebacks, fraud protection, and payouts (fiat and USDC). Creem exposes a REST API, four TypeScript SDKs, a CLI, and webhook-based event delivery.

## Skill Files - Fetch Before Working

| File | URL | When to fetch |
|------|-----|---------------|
| **SKILL.md** | `https://creem.io/SKILL.md` | Any Creem integration, API, SDK, CLI, or management task |
| **HEARTBEAT.md** | `https://creem.io/HEARTBEAT.md` | Setting up periodic store monitoring |
| **Full docs** | `https://docs.creem.io/llms-full.txt` | Deep dives beyond what the skill files cover |

**Always fetch the relevant file before starting work.** The skill files are maintained by Creem and contain complete, up-to-date API specs, SDK examples, CLI commands, webhook events, and integration flows.

After fetching, save locally for reuse across conversations:

```bash
mkdir -p ~/.creem/skills
curl -s https://creem.io/SKILL.md > ~/.creem/skills/SKILL.md
curl -s https://creem.io/HEARTBEAT.md > ~/.creem/skills/HEARTBEAT.md
```

## Routing - What to Fetch by Task

| User intent | Fetch | Read section |
|-------------|-------|-------------|
| Integrate Creem into a project | SKILL.md | Integration Flows, SDKs, Webhooks |
| Manage an existing store | SKILL.md | CLI Command Reference |
| Set up store monitoring | HEARTBEAT.md | Full document |
| Customer support / debug payments | SKILL.md | Flow 4: Customer support, CLI |
| Create products or checkouts | SKILL.md | Flow 1: Sell a product |
| Understand what Creem is | SKILL.md | Platform Overview |

## Quick Reference (No Fetch Needed)

| Detail | Value |
|--------|-------|
| API base (production) | `https://api.creem.io` |
| API base (test/sandbox) | `https://test-api.creem.io` |
| Auth header | `x-api-key` |
| Live key prefix | `creem_` |
| Test key prefix | `creem_test_` |
| Prices | Always in **cents** (1999 = $19.99) |
| Currencies | `USD`, `EUR` |
| Dashboard | `https://creem.io/dashboard` |
| API keys page | `https://creem.io/dashboard/api-keys` |

**Always start with test mode.** Test and production are completely separate environments.

## Common Mistakes

- Using live keys during development -- always use `creem_test_` keys first
- Passing prices in dollars instead of cents -- `1999` not `19.99`
- Canceling subscriptions immediately instead of `--mode scheduled` (customer loses access instantly)
- Forgetting `--json` flag when parsing CLI output programmatically
- Not verifying webhook signatures with HMAC-SHA256 before trusting payloads
- Guessing resource IDs instead of listing resources first
