Providers / Paddle

Payments

Paddle API keys and credentials

What every Paddle credential a founder holds does, whether it expires, and what tends to break. Each fact links to Paddle's own docs.

Last checked 2026-11-08 · www.paddle.com

At a glance

CredentialExpiryPermissions
Paddle dashboard loginNot documented–
API key (server-side)You choose, default 90 days, max 1 yearCan be scoped
Client-side token (Paddle.js)Not documentedCan be scoped
Notification destination secret keyDoesn't expireFull access only

Each credential

Paddle dashboard login

Dashboard login. Session and 2FA policy not documented on the pages reviewed. Keep team members and roles managed in the dashboard.

Paddle docs

API key (server-side)

Created in the Paddle dashboard (exact menu path not confirmed). An expiry date can be set at creation and is strongly recommended; the default is 90 days from creation and the maximum is one year from creation. Expired keys cannot be revalidated, so replace them by creating a new key. Permissions are set per key; requests without the needed permission return 403 forbidden. The Rotatable option must be enabled at creation and cannot be changed later. Rotatable keys have their expiry extended automatically when rotated (documented for AWS Secrets Manager integration). Keys created before 2025-05-06 are legacy keys with no permissions support; replace them. The page does not show how to view an existing key's expiry after creation.

Paddle docs

Client-side token (Paddle.js)

Safe to publish in frontend code. Prefixed test_ (sandbox) or live_ (production) followed by 27 characters. Limited to opening checkouts, previewing prices and previewing transactions; API keys must not be used with Paddle.js. The docs describe revocation, but no expiry or lifetime field. Revocation is permanent and is done by PATCHing the token status to revoked; confirm the token is not in use in production first. No maximum number of tokens stated.

Paddle docs

Notification destination secret key

Paddle generates one secret key per notification destination. It does not expire or rotate automatically, per the docs. Retrieve it from the destination's Edit view or through GET /notification-settings/{id} (endpoint_secret_key). Rotation is not supported yet; to replace a suspected compromised key, delete the destination and create a new one. Webhook signatures (Paddle-Signature header) must be verified against the raw request body.

Paddle docs

What usually goes wrong

Renewals and billing

Transactions (GET /transactions) carry billed and created dates and totals; filter by created_at and billed_at. Address data only with include=address. Fee fields not yet confirmed.

What Paddle's docs don't say

We couldn't confirm these from official docs, so don't rely on them either way:

Rotating or replacing a Paddle key

The steps are the same for most providers: make the new key, deploy it everywhere the old one is used, check it works, then revoke the old one. Our guides walk through it:

Sources

Related providers

Keep track of every Paddle key

StackHangar stores your Paddle keys in an encrypted vault, grouped by the product they belong to, warns you before they expire, and walks you through rotating them. We can't read your secrets.