---
title: "Paddle Billing MCP server for AI agents - actionlake"
description: "Give Claude 126 Paddle Billing actions through one MCP server: subscriptions, metrics. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/paddle-billing
updated: 2026-10-23
---

Connectors · Accounting & finance

# Paddle Billing MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Paddle Billing and the rest of your systems. It gives your agent 126 Paddle Billing actions (74 reads, 47 writes and 5 that wait for a confirmation) and holds the Paddle Billing credential itself, so the agent never does. It paces Paddle Billing's limits and records every call.

[Connect Paddle Billing free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "paddle_billing.products.list",
  intent: "check which Paddle Billing account is connected"
}
# List products · read · 1 upstream call
```

- 126 actions in one signed file
- 74 read look, never change
- 47 write create and update
- 5 wait for a yes destructive, confirmed first

Set up

## Connect Paddle Billing in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Paddle Billing.
   Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `api_key` Paddle API key
   - `tenant_host` Where your Paddle Billing lives: your tenant host
   ```
   account { op: "connections.requirements", service: "paddle_billing" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "paddle_billing.products.list" }
   # list products · read · 1 upstream call
   check { action: "paddle_billing.products.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Paddle Billing at a glance

**Sign-in**

Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`api_key`

**Setup fields**

`tenant_host`

**Limits we pace to**

240 calls a minute, per connection

**API covered**

Paddle Billing API v1 (OpenAPI 3.1, Paddle-Version 1)`api.paddle.com`

**Built from**

Paddle Billing's documentation, read 23 October 2026[OpenAPI spec (GitHub)](https://raw.githubusercontent.com/PaddleHQ/paddle-openapi/main/v1/openapi.yaml) [developer.paddle.com](https://developer.paddle.com/api-reference/overview)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

65 of 74 reads, for up to an hour; a write clears what it affects

**Shared entities**

5, so ask can line Paddle Billing up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Paddle Billing.

126 actions in 42 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **74** read look, never change
- **47** write create and update
- **5** destructive wait for a confirmation

1. ### Subscriptions
   11
   3 read · 6 write · 2 destructive
   List subscriptions · Get a subscription · Update a subscription · Cancel a subscription
2. ### Metrics
   9
   9 read · 0 write · 0 destructive
   Run an Explore metrics query · List Explore metric entities · Get active subscribers metrics · Get chargeback metrics
3. ### Transactions
   7
   4 read · 3 write · 0 destructive
   List transactions · Get a transaction · Create a transaction · Preview a transaction
4. ### Customers
   5
   2 read · 3 write · 0 destructive
   List customers · Create a customer · Get a customer · Update a customer
5. ### Notification settings
   5
   2 read · 2 write · 1 destructive
   Create a notification setting · List notification settings · Update a notification setting · Get a notification setting
6. ### Prices
   5
   3 read · 2 write · 0 destructive
   List prices · Create a price · Get a price · Update a price
7. ### Checkout domains
   4
   2 read · 1 write · 1 destructive
   List checkout domains · Get a checkout domain · Verify a payment method for a checkout domain · Delete a checkout domain
8. ### Client tokens
   4
   2 read · 2 write · 0 destructive
   Create a client-side token · List client-side tokens · Get a client-side token · Update a client-side token

**34 more areas · 76 actions**

- Customer addresses **4**
- Customer businesses **4**
- Discount groups **4**
- Discounts **4**
- Products **4**
- Reports **4**
- Simulations **4**
- Adjustments **3**
- Customer payment methods **3**
- Notifications **3**
- Simulation run events **3**
- Simulation runs **3**
- Account **2**
- Balance currency **2**
- Checkout features **2**
- Checkout payment methods **2**
- Checkout recovery **2**
- Checkout styles overlay **2**
- Checkout URL **2**
- Currency conversions **2**
- Statement descriptor **2**
- Tax settings **2**
- Verifications **2**
- API root **1**
- Countries **1**
- Currencies **1**
- Customer credit balances **1**
- Customer portal sessions **1**
- Event types **1**
- Events **1**
- Ip addresses **1**
- Notification logs **1**
- Simulation types **1**
- Subscription history **1**

Top actions

## The Paddle Billing API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 40 of Paddle Billing's 40 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `paddle_billing.products.list` List products | List products. | read | `commerce.product.list` 112 connectors |
| `paddle_billing.customers.list` List customers | List customers. | read | `commerce.customer.list` 45 connectors |
| `paddle_billing.transactions.list` List transactions | List transactions. | read | `finance.invoice.list` 101 connectors |
| `paddle_billing.products.create` Create a product | Create a product. | write | `commerce.product.create` 92 connectors |
| `paddle_billing.subscriptions.list` List subscriptions | List subscriptions. | read | `finance.subscription.list` 37 connectors |
| `paddle_billing.customers.create` Create a customer | Create a customer. | write | `commerce.customer.create` 43 connectors |
| `paddle_billing.transactions.get` Get a transaction | Get a transaction. | read | `finance.invoice.get` 102 connectors |
| `paddle_billing.subscriptions.get` Get a subscription | Get a subscription. | read | `finance.subscription.get` 33 connectors |
| `paddle_billing.discounts.list` List discounts | List discounts. | read | `commerce.coupon.list` 29 connectors |
| `paddle_billing.discounts.create` Create a discount | Create a discount. | write | `commerce.coupon.create` 29 connectors |
| `paddle_billing.prices.create` Create a price | Create a price. | write | `commerce.price.create` 9 connectors |
| `paddle_billing.subscriptions.cancel` Cancel a subscription | Cancel a subscription. | destructive | `finance.subscription.cancel` 19 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Paddle Billing actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Paddle Billing invoices are more than 30 days overdue? Group them by customer with the total owed.
   calls `paddle_billing.transactions.list`
2. Write write
   Create a product in Paddle Billing. Show me exactly what you will send before you save it.
   calls `paddle_billing.products.create`

Governance for Paddle Billing

## Destructive actions wait for a yes.

5 Paddle Billing actions are destructive. These are all of them:

- Cancel a subscription `paddle_billing.subscriptions.cancel`
- Delete a payment method for a customer `paddle_billing.customer_payment_methods.delete`
- Delete a notification setting `paddle_billing.notification_settings.delete`
- Create a one-time charge for a subscription `paddle_billing.subscriptions.create_charge`
- Delete a checkout domain `paddle_billing.checkout_domains.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do paddle_billing.subscriptions.cancel confirm_policy: **human**

Cancel a subscription?

**intent:** the user asked me to cancel a subscription

run suspended · waiting for a named person · key _paddle-billing-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "paddle-billing-agent",
  allowed_actions: ["paddle_billing.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "paddle_billing.subscriptions.cancel", approver: "lead@example.com" },
    { match: "paddle_billing.customer_payment_methods.delete", approver: "lead@example.com" },
    { match: "paddle_billing.notification_settings.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Paddle Billing only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Paddle Billing costs on actionlake.

Every Paddle Billing action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Paddle Billing refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 126 Paddle Billing actions
- 126 actions page each page of a long list is one call
- 65 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Paddle Billing action.

126 actions by area: the id your agent calls, what it does, and its effect.

**Subscriptions 11**

- `paddle_billing.subscriptions.activate` Activate a trialing subscription write
- `paddle_billing.subscriptions.cancel` Cancel a subscription destructive
- `paddle_billing.subscriptions.create_charge` Create a one-time charge for a subscription destructive
- `paddle_billing.subscriptions.get` Get a subscription read
- `paddle_billing.subscriptions.get_update_payment_method_transaction` Get a transaction to update payment method write
- `paddle_billing.subscriptions.list` List subscriptions read
- `paddle_billing.subscriptions.pause` Pause a subscription write
- `paddle_billing.subscriptions.preview_charge` Preview a one-time charge for a subscription read
- `paddle_billing.subscriptions.preview_update` Preview an update to a subscription write
- `paddle_billing.subscriptions.resume` Resume a paused subscription write
- `paddle_billing.subscriptions.update` Update a subscription write

**Metrics 9**

- `paddle_billing.metrics.active_subscribers` Get active subscribers metrics read
- `paddle_billing.metrics.chargebacks` Get chargeback metrics read
- `paddle_billing.metrics.checkout_conversion` Get checkout conversion metrics read
- `paddle_billing.metrics.explore` Run an Explore metrics query read
- `paddle_billing.metrics.list_explore_entities` List Explore metric entities read
- `paddle_billing.metrics.monthly_recurring_revenue` Get MRR (monthly recurring revenue) metrics read
- `paddle_billing.metrics.monthly_recurring_revenue_change` Get MRR change (monthly recurring revenue change) metrics read
- `paddle_billing.metrics.refunds` Get refund metrics read
- `paddle_billing.metrics.revenue` Get net revenue metrics read

**Transactions 7**

- `paddle_billing.transactions.create` Create a transaction write
- `paddle_billing.transactions.get` Get a transaction read
- `paddle_billing.transactions.get_invoice_pdf_url` Get a PDF invoice for a transaction read
- `paddle_billing.transactions.list` List transactions read
- `paddle_billing.transactions.preview` Preview a transaction read
- `paddle_billing.transactions.revise` Revise customer information on a billed or completed transaction write
- `paddle_billing.transactions.update` Update a transaction write

**Customers 5**

- `paddle_billing.customers.create` Create a customer write
- `paddle_billing.customers.generate_auth_token` Generate an authentication token for a customer write
- `paddle_billing.customers.get` Get a customer read
- `paddle_billing.customers.list` List customers read
- `paddle_billing.customers.update` Update a customer write

**Notification settings 5**

- `paddle_billing.notification_settings.create` Create a notification setting write
- `paddle_billing.notification_settings.delete` Delete a notification setting destructive
- `paddle_billing.notification_settings.get` Get a notification setting read
- `paddle_billing.notification_settings.list` List notification settings read
- `paddle_billing.notification_settings.update` Update a notification setting write

**Prices 5**

- `paddle_billing.prices.create` Create a price write
- `paddle_billing.prices.get` Get a price read
- `paddle_billing.prices.list` List prices read
- `paddle_billing.prices.preview` Preview prices read
- `paddle_billing.prices.update` Update a price write

**Checkout domains 4**

- `paddle_billing.checkout_domains.delete` Delete a checkout domain destructive
- `paddle_billing.checkout_domains.get` Get a checkout domain read
- `paddle_billing.checkout_domains.list` List checkout domains read
- `paddle_billing.checkout_domains.verify_payment_method` Verify a payment method for a checkout domain write

**Client tokens 4**

- `paddle_billing.client_tokens.create` Create a client-side token write
- `paddle_billing.client_tokens.get` Get a client-side token read
- `paddle_billing.client_tokens.list` List client-side tokens read
- `paddle_billing.client_tokens.update` Update a client-side token write

**Customer addresses 4**

- `paddle_billing.customer_addresses.create` Create an address for a customer write
- `paddle_billing.customer_addresses.get` Get an address for a customer read
- `paddle_billing.customer_addresses.list` List addresses for a customer read
- `paddle_billing.customer_addresses.update` Update an address for a customer write

**Customer businesses 4**

- `paddle_billing.customer_businesses.create` Create a business for a customer write
- `paddle_billing.customer_businesses.get` Get a business for a customer read
- `paddle_billing.customer_businesses.list` List businesses for a customer read
- `paddle_billing.customer_businesses.update` Update a business for a customer write

**Discount groups 4**

- `paddle_billing.discount_groups.create` Create a discount group write
- `paddle_billing.discount_groups.get` Get a discount group read
- `paddle_billing.discount_groups.list` List discount groups read
- `paddle_billing.discount_groups.update` Update a discount group write

**Discounts 4**

- `paddle_billing.discounts.create` Create a discount write
- `paddle_billing.discounts.get` Get a discount read
- `paddle_billing.discounts.list` List discounts read
- `paddle_billing.discounts.update` Update a discount write

**Products 4**

- `paddle_billing.products.create` Create a product write
- `paddle_billing.products.get` Get a product read
- `paddle_billing.products.list` List products read
- `paddle_billing.products.update` Update a product write

**Reports 4**

- `paddle_billing.reports.create` Create a report write
- `paddle_billing.reports.get` Get a report read
- `paddle_billing.reports.get_download_url` Get a CSV file for a report read
- `paddle_billing.reports.list` List reports read

**Simulations 4**

- `paddle_billing.simulations.create` Create a simulation write
- `paddle_billing.simulations.get` Get a simulation read
- `paddle_billing.simulations.list` List simulations read
- `paddle_billing.simulations.update` Update a simulation write

**Adjustments 3**

- `paddle_billing.adjustments.create` Create an adjustment write
- `paddle_billing.adjustments.get_credit_note` Get a PDF credit note for an adjustment read
- `paddle_billing.adjustments.list` List adjustments read

**Customer payment methods 3**

- `paddle_billing.customer_payment_methods.delete` Delete a payment method for a customer destructive
- `paddle_billing.customer_payment_methods.get` Get a payment method for a customer read
- `paddle_billing.customer_payment_methods.list` List payment methods for a customer read

**Notifications 3**

- `paddle_billing.notifications.get` Get a notification read
- `paddle_billing.notifications.list` List notifications read
- `paddle_billing.notifications.replay` Replay a notification write

**Simulation run events 3**

- `paddle_billing.simulation_run_events.get` Get an event for a simulation run read
- `paddle_billing.simulation_run_events.list` List events for a simulation run read
- `paddle_billing.simulation_run_events.replay` Replay an event for a simulation run write

**Simulation runs 3**

- `paddle_billing.simulation_runs.create` Create a run for a simulation write
- `paddle_billing.simulation_runs.get` Get a run for a simulation read
- `paddle_billing.simulation_runs.list` List runs for a simulation read

**Account 2**

- `paddle_billing.account.get` Get account read
- `paddle_billing.account.update` Update account write

**Balance currency 2**

- `paddle_billing.balance_currency.get` Get balance currency settings read
- `paddle_billing.balance_currency.update` Update balance currency settings write

**Checkout features 2**

- `paddle_billing.checkout_features.get` Get checkout feature settings read
- `paddle_billing.checkout_features.update` Update checkout feature settings write

**Checkout payment methods 2**

- `paddle_billing.checkout_payment_methods.get` Get checkout payment method settings read
- `paddle_billing.checkout_payment_methods.update` Update checkout payment method settings write

**Checkout recovery 2**

- `paddle_billing.checkout_recovery.get` Get checkout recovery settings read
- `paddle_billing.checkout_recovery.update` Update checkout recovery settings write

**Checkout styles overlay 2**

- `paddle_billing.checkout_styles_overlay.get` Get overlay checkout style settings read
- `paddle_billing.checkout_styles_overlay.update` Update overlay checkout style settings write

**Checkout URL 2**

- `paddle_billing.checkout_url.get` Get checkout URL settings read
- `paddle_billing.checkout_url.update` Update checkout URL settings write

**Currency conversions 2**

- `paddle_billing.currency_conversions.get` Get currency conversion settings read
- `paddle_billing.currency_conversions.update` Update currency conversion settings write

**Statement descriptor 2**

- `paddle_billing.statement_descriptor.get` Get statement descriptor settings read
- `paddle_billing.statement_descriptor.update` Update statement descriptor settings write

**Tax settings 2**

- `paddle_billing.tax_settings.get` Get tax settings read
- `paddle_billing.tax_settings.update` Update tax settings write

**Verifications 2**

- `paddle_billing.verifications.get` Get a verification read
- `paddle_billing.verifications.list` List verifications read

**API root 1**

- `paddle_billing.api_root.get` Get API root read

**Countries 1**

- `paddle_billing.countries.list` List Paddle countries read

**Currencies 1**

- `paddle_billing.currencies.list` List Paddle currencies read

**Customer credit balances 1**

- `paddle_billing.customer_credit_balances.list` List credit balances for a customer read

**Customer portal sessions 1**

- `paddle_billing.customer_portal_sessions.create` Create a customer portal session write

**Event types 1**

- `paddle_billing.event_types.list` List events types read

**Events 1**

- `paddle_billing.events.list` List events read

**Ip addresses 1**

- `paddle_billing.ip_addresses.get` Get Paddle IP addresses read

**Notification logs 1**

- `paddle_billing.notification_logs.list` List logs for a notification read

**Simulation types 1**

- `paddle_billing.simulation_types.list` List simulation types read

**Subscription history 1**

- `paddle_billing.subscription_history.list` List history for a subscription read

Questions

## The Paddle Billing MCP server, answered.

**Is there a Paddle Billing MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 126 Paddle Billing actions across subscriptions, metrics, transactions and customers, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Paddle Billing.

**What do I need to connect Paddle Billing?**

Paddle API key. Plus your tenant host. The free call account { op: "connections.requirements", service: "paddle_billing" } lists exactly what to paste.

**Can an AI agent delete or change things in Paddle Billing?**

Only if its key allows it, and only with an explicit confirmation. 5 Paddle Billing actions are destructive, including cancel a subscription, delete a payment method for a customer and delete a notification setting. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Paddle Billing API limit?**

actionlake paces every call to the limits in the Paddle Billing service file: 240 calls a minute per connection. Repeated reads are answered from cache (65 Paddle Billing actions can be), which never reaches Paddle Billing.

**What does a Paddle Billing action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (126 Paddle Billing actions page). Cache hits, searches, dry runs and calls Paddle Billing refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Paddle Billing API does it cover?**

The Paddle Billing API v1 (OpenAPI 3.1, Paddle-Version 1) at api.paddle.com by default, or the base URL set when you connect. It is built from Paddle Billing's documentation as read on 23 October 2026. 126 actions in 42 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Paddle Billing data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Paddle Billing credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Paddle Billing

Shares the most action names with

- [Airwallex 24](https://actionlake.com/connectors/airwallex)
- [Polar 22](https://actionlake.com/connectors/polar)
- [Maxio Advanced Billing 19](https://actionlake.com/connectors/maxio-advanced-billing)
- [Whop 19](https://actionlake.com/connectors/whop)
- [Orb 18](https://actionlake.com/connectors/orb)
- [Recurly 14](https://actionlake.com/connectors/recurly)

Joins with, on shared entities

- [Adobe Commerce 4](https://actionlake.com/connectors/adobe-commerce)
- [Zoho Inventory 3](https://actionlake.com/connectors/zoho-inventory)
- [Cin7 Core 3](https://actionlake.com/connectors/cin7-core)
- [Planhat 3](https://actionlake.com/connectors/planhat)
- [Recharge 3](https://actionlake.com/connectors/recharge)
- [ConnectWise PSA 2](https://actionlake.com/connectors/connectwise-psa)

Browse

- [All Accounting & finance connectors](https://actionlake.com/connectors/category/accounting-and-finance)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Paddle Billing; the name is the vendor's own. Counts are from the Paddle Billing service file, version 1.0.0.

## Give your agent Paddle Billing today.

[Connect Paddle Billing free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/paddle-billing
More: https://actionlake.com/llms.txt
