Skip to content
ChartDeck ChartScript docs Account Open the terminal

Whop members

Give the members of your Whop products and plans access to an invite-only script, with an API key and a webhook of your own.

If you sell a membership on Whop, its members can get your invite-only script automatically. They get access while their Whop membership is valid and lose it when it ends. You use your own API key and webhook: ChartDeck runs no Whop app, and it takes no cut of what you sell on Whop.

#What you need

  • A Whop company with at least one product.
  • Permission to create API keys and webhooks in that company (the owner or an admin).

#Set it up

  1. In your Whop dashboard, open Developer and create a company API key. Give it only these permissions:
    • member:basic:read: required. ChartDeck reads your memberships with it.
    • member:email:read: recommended. Members who have not linked their Whop account yet get a claim email (see below). Without it, they have to wait until you send them their claim another way.
    • access_pass:basic:read: lets ChartDeck list your products, so you can pick them.
    • plan:basic:read: lets ChartDeck list your plans, if you want to map single plans instead of whole products.
    • webhook_receive:memberships: lets the webhook carry membership changes.
  2. Copy your company id. It starts with biz_ and is in the dashboard address and in your company settings.
  3. In ChartDeck, open Account → Selling & access → Integrations, choose Whop, and paste the API key and the company id. ChartDeck checks the key with one read and shows the connection as Waiting for the webhook, with a webhook URL of its own.
  4. Back in Whop, under Developer → Webhooks, choose Create webhook. Paste the webhook URL from ChartDeck and pick these events:
    • membership.activated
    • membership.deactivated
    • membership.updated
  5. Whop shows the webhook's secret, which starts with ws_. In ChartDeck, press Update credentials on the connection and paste it. You only need to paste the secret: the API key you saved stays. The connection turns Active.
  6. Map a product (any of its plans) or a single plan to one or more invite-only scripts. Choose how long access lasts:
    • While a member (the usual choice): access lasts while the membership is valid, plus any grace days you set after it ends.
    • Fixed term: each time a membership becomes valid the member gets 1 month, 3 months, 1 year or lifetime, and its end changes nothing.

ChartDeck keeps the key and the secret encrypted and only ever shows their last 4 characters. To change them, use Update credentials. The webhook URL stays the same, so you do not have to touch the webhook in Whop.

#Which memberships count

A membership gives access while Whop reports it as:

Whop statusAccess
activeYes
trialingYes
canceling (canceled at the end of the period)Yes, until it ends
past_due (Whop is retrying the payment)Yes, while Whop retries
completed, canceled, expired, unresolved, drafted, pausedNo

A membership.deactivated event always ends access, whatever the status says. If a member moves to another plan or product, the access the old one gave ends and the new one's begins.

#How members get access

Whop does not tell ChartDeck who your members are on ChartDeck. A member is matched in one of two ways:

  • They already claimed access from you. A claim counts for your connection only: later memberships of the same Whop account on your connection are matched straight away. (A claim made with another seller does not count for you, and yours does not count for them.)
  • A claim email. When a membership is valid and the member has not claimed access from you yet, ChartDeck emails the address Whop has for them (only if your key has member:email:read). The email holds a one-time claim code, valid for 30 days. They sign in to ChartDeck (or create a free account), open the link or enter the code under Account → Connections, see what they are claiming, and their access starts after they press Claim. Nothing else is linked to their ChartDeck account. Claim emails go out only once your connection has received at least one correctly signed webhook from Whop, only after ChartDeck has checked the membership with Whop using your key (the email goes to the address Whop holds), and only when your ChartDeck account is at least a week old, has a published script, and is on a paid plan or already has a few confirmed members. ChartDeck limits how many it sends a day, with a smaller number for new sellers.

ChartDeck never checks whether an email address has a ChartDeck account. You do not learn whether a member has one until they claim their access.

#What updates access

  • The webhook: access changes within seconds of a membership being activated, updated or deactivated. Each delivery is signed by Whop and checked by ChartDeck. A delivery more than 5 minutes old, or with a wrong signature, is refused. A repeated delivery is applied once.
  • A re-check every 15 minutes: ChartDeck reads all your valid memberships (100 per request) and fixes anything a missed webhook left behind. Sync on the connection runs it straight away.
  • Disconnecting the integration ends all the access it gave. Access you gave in other ways (grants, invites, purchases) is never touched.

#Privacy

ChartDeck stores the member's Whop user id with their access on your connection, and nothing else from Whop. An email address from Whop is used once to send the claim email and is not stored (only a keyed fingerprint of it, so the email is not sent twice). You see how many members have access through the connection and its event log. You do not see their ChartDeck email address.

The ChartScript documentation is in English for now; translations will follow.