> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainworks.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Credits and Pricing

> What each Chainworks API endpoint costs in credits, and how connections, channels, and standing work are billed.

Usage is metered in **credits**. Every priced call, every second a push socket is held open, and every byte delivered on a channel draws from your plan's monthly credit allowance.

A call costs the same whichever transport it arrives on. Socket.IO, HTTP, and batch all address a route by the same path, so they are billed identically.

***

## Request Costs

Requests are charged per call, at one of four rates.

| Rate     | Credits per call | Typical work                                                  |
| -------- | ---------------- | ------------------------------------------------------------- |
| Free     | 0                | Control-plane calls: subscribe, unsubscribe, list             |
| Standard | 1                | One cheap read: metadata, balances, a single record           |
| Elevated | 5                | A write, a multi-service hop, or pool discovery               |
| Heavy    | 10               | A quote plus transaction simulation, or a multi-record return |

Free calls are still recorded, and they are still blocked once an account is out of credits.

***

## SVM (Solana) Endpoints

| Endpoint                                | Credits |
| --------------------------------------- | ------- |
| `/svm/buy/quote`                        | 5       |
| `/svm/sell/quote`                       | 5       |
| `/svm/buy/transaction`                  | 10      |
| `/svm/sell/transaction`                 | 10      |
| `/svm/transfer/transaction`             | 5       |
| `/svm/transfer/token/transaction`       | 5       |
| `/svm/transfer/multi/transaction`       | 5       |
| `/svm/transfer/multi/token/transaction` | 5       |
| `/svm/send-transaction`                 | 5       |
| `/svm/compile-transaction`              | 5       |
| `/svm/nonce-account/create/transaction` | 5       |
| `/svm/token/meta`                       | 1       |
| `/svm/token/report`                     | 1       |
| `/svm/wallet/balance`                   | 1       |
| `/svm/wallet/balance/token`             | 1       |
| `/svm/price/subscribe`                  | 0       |
| `/svm/price/unsubscribe`                | 0       |
| `/svm/price/active_subscriptions`       | 0       |
| `/svm/wallet-tracker/track`             | 0       |
| `/svm/wallet-tracker/untrack`           | 0       |
| `/svm/wallet-tracker/list`              | 0       |

Subscribing and tracking are free calls. The cost of a price subscription is the bytes its `priceUpdate` events deliver; the cost of a tracked wallet is the standing charge below.

***

## EVM Endpoints

| Endpoint                          | Credits |
| --------------------------------- | ------- |
| `/evm/buy/quote`                  | 1       |
| `/evm/sell/quote`                 | 1       |
| `/evm/buy/transaction`            | 5       |
| `/evm/sell/transaction`           | 5       |
| `/evm/approve/transaction`        | 5       |
| `/evm/transfer/transaction`       | 5       |
| `/evm/transfer/token/transaction` | 5       |
| `/evm/send-transaction`           | 5       |
| `/evm/token/meta`                 | 1       |
| `/evm/token/report`               | 1       |
| `/evm/wallet/balance`             | 1       |
| `/evm/wallet/balance/token`       | 1       |
| `/evm/v2/liquidity-pools`         | 5       |
| `/evm/v3/liquidity-pools`         | 5       |
| `/evm/uniswap-v4/liquidity-pools` | 5       |
| `/evm/pcs-v4/liquidity-pools`     | 5       |
| `/evm/liquidity-pools/by-id`      | 1       |
| `/evm/autosnipe/register`         | 0       |
| `/evm/autosnipe/remove`           | 0       |
| `/evm/autosnipe/list`             | 0       |

Registering and removing an auto-snipe watch are free. The watch itself is billed per minute as standing work, and its signals are billed on the bytes they deliver.

***

## TVM Endpoints

| Endpoint               | Credits |
| ---------------------- | ------- |
| `/tvm/liquidity-pools` | 5       |

***

## Transaction Logs

| Endpoint            | Credits |
| ------------------- | ------- |
| `/transaction/log`  | 1       |
| `/transaction/logs` | 10      |

***

## Connection Costs

Holding a push socket open costs **1 credit per connected minute**, charged once per connection no matter how many channels it subscribes to. Two sockets open at the same time cost twice as much, because that is two connections alive.

| Meter           | Rate                |
| --------------- | ------------------- |
| Push connection | 1 credit per minute |

***

## Channel Costs

Delivered events are charged on bytes, at **1 credit per 3.5 MB** (about 286 credits per GB). Time is not charged again here - that is the connection meter's job - so a socket subscribed to several channels is not billed for its duration more than once.

| Channel                   | Rate                          |
| ------------------------- | ----------------------------- |
| `priceUpdate`             | 1 credit per 3.5 MB delivered |
| `trackedWalletActivity`   | 1 credit per 3.5 MB delivered |
| `transactionStatusUpdate` | 1 credit per 3.5 MB delivered |
| `autoSnipeSignal`         | 1 credit per 3.5 MB delivered |

***

## Standing Work

Some features cost while they exist, not when they are called. These are billed by how long each item is registered, the way instance-hours are billed.

| Meter            | Rate                            |
| ---------------- | ------------------------------- |
| Tracked wallet   | 2 credits per wallet per minute |
| Auto-snipe watch | 2 credits per watch per minute  |

Fifty tracked wallets held for one minute costs 100 credits, not 2. These charges continue until the wallet is untracked or the watch is removed or expires, and they are not attributed to any one API key - revoking a key does not stop them.

<Warning>
  Standing work accrues whether or not you call the API. A tracked wallet left registered for a month costs 86,400 credits.
</Warning>

***

## Running Out of Credits

When an account passes its monthly allowance plus its overage grace, priced routes are rejected with `CREDIT_LIMIT_EXCEEDED` and HTTP `402`. Free routes such as unsubscribe, untrack, and auto-snipe remove keep working, so you can always wind standing work down.

Retrying does not help. The block clears when the calendar month rolls over in UTC, or when the plan changes. See [Error Handling](/errors) for the response shape.
