> For the complete documentation index, see [llms.txt](https://timechain.gitbook.io/neucron-javascript-sdk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://timechain.gitbook.io/neucron-javascript-sdk/payments-and-operations/billing-and-subscriptions.md).

# Billing & Subscriptions

Accessor: `sdk.billing`

Manage Neucron platform billing, pricing plans, credits, invoices, payment methods, and billing analytics.

## Method surface

| Method                                 | Purpose                |
| -------------------------------------- | ---------------------- |
| `sdk.billing.getBillingInfo()`         | getBillingInfo         |
| `sdk.billing.getBillingHistory()`      | getBillingHistory      |
| `sdk.billing.getPricingPlans()`        | getPricingPlans        |
| `sdk.billing.getCreditBalance()`       | getCreditBalance       |
| `sdk.billing.requestPlan()`            | requestPlan            |
| `sdk.billing.getPlanStatus()`          | getPlanStatus          |
| `sdk.billing.upgradePlan()`            | upgradePlan            |
| `sdk.billing.cancelPlan()`             | cancelPlan             |
| `sdk.billing.creditsTopUp()`           | creditsTopUp           |
| `sdk.billing.getGraph()`               | getGraph               |
| `sdk.billing.getInvoiceList()`         | getInvoiceList         |
| `sdk.billing.raisePaymentForInvoice()` | raisePaymentForInvoice |
| `sdk.billing.getPaymentHistory()`      | getPaymentHistory      |
| `sdk.billing.downloadInvoice()`        | downloadInvoice        |
| `sdk.billing.getPaymentMethods()`      | getPaymentMethods      |
| `sdk.billing.addPaymentMethod()`       | addPaymentMethod       |

## Basic usage

```typescript
import NeucronSDK from '@timechainlabs/neucron-ts-sdk';

const sdk = new NeucronSDK({ authToken: process.env.NEUCRON_TOKEN });

// Use sdk.billing methods after authentication.
```

## Notes

* Methods return `Promise<HttpResponse<T>>` unless they are local helpers such as token getters/setters.
* Authenticate with `sdk.auth.login()` or initialize with `authToken` before protected calls.
* Pass `businessId` on business-scoped operations; constructor-level `businessId` is typed but not applied globally.
* Request and response schemas are exported from `@timechainlabs/neucron-ts-sdk` and `@timechainlabs/neucron-ts-sdk/schemas`.
