Database
Supabase
Because Polar sells as merchant of record, Postgres stops being the ledger and becomes a cache of what Polar granted. Store the Polar customer ID against the Better Auth user row plus a narrow benefits table refreshed from webhooks. Supabase handles that comfortably, and confining the mirror to one table means a full resync is a truncate and replay rather than a migration across plan flags scattered through profile columns.