-- One row per scope, hashed client IP and minute; swept once expired. Same shape as the site's. CREATE TABLE IF NOT EXISTS ratelimit ( bucket TEXT PRIMARY KEY, n INTEGER NOT NULL, expires INTEGER NOT NULL ); CREATE INDEX IF NOT EXISTS ratelimit_expires ON ratelimit (expires); -- Switches that take effect on the next request, no deploy needed: -- paused '1' stops every buy and activation -- paused: '1' stops activations of one tier (debit, gold, platinum, black, infinite) -- paused:buy '1' stops blank sales only -- paused:activate '1' stops every activation -- Flip one (mainnet): npx wrangler d1 execute glitch-card --remote --env production --command "INSERT OR REPLACE INTO flags VALUES ('paused', '1')" -- Devnet rehearsal: the same with glitch-card-devnet and --env preview. Clear with value '0' (or DELETE). CREATE TABLE IF NOT EXISTS flags ( key TEXT PRIMARY KEY CHECK (length(key) BETWEEN 1 AND 32), value TEXT NOT NULL CHECK (value IN ('0', '1')) );