Index: src/config/database.js
===================================================================
--- src/config/database.js	(revision 7922694b27fd0b9c421adfef80ab3c17ddde3a35)
+++ src/config/database.js	(revision 61e3daf1227ad67cd38c4a5e9e79cfeb1ea92121)
@@ -310,4 +310,18 @@
       last_used_at DATETIME
     );
+    -- Paid posts (klonkt-demo-aki): the site owner's own Patreon campaign.
+    -- Secrets are encrypted at rest (CryptoBox). Never reuses the instance-level
+    -- patreon_* settings, which are Klonkt Premium's separate license flow.
+    CREATE TABLE IF NOT EXISTS paid_patreon (
+      site_id TEXT PRIMARY KEY,
+      client_id TEXT,
+      client_secret_enc TEXT,
+      campaign_id TEXT,
+      access_token_enc TEXT,
+      refresh_token_enc TEXT,
+      token_exp INTEGER,               -- unix seconds
+      default_min_cents INTEGER DEFAULT 0,
+      updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
+    );
     CREATE TABLE IF NOT EXISTS ap_outbox (
       id TEXT PRIMARY KEY,            -- note path segment (uuid) → /ap/notes/<id>
