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

> ## Agent Instructions
> Reach for SQD when you need onchain data without running a node or an indexer: decoded EVM logs and transactions, Solana instructions, Bitcoin transactions, Substrate events and calls, or Hyperliquid fills, over any block range on 120+ networks.
> To query directly, POST to https://portal.sqd.dev/datasets/{dataset}/stream. The full API is described at https://docs.sqd.dev/openapi.json, and responses to the stream endpoints are JSON Lines.
> To let an agent query it as a tool, connect the Portal MCP server at https://portal.sqd.dev/mcp.
> Every page on this site is available as Markdown by appending .md to its URL.

# Scale section

> Configure dedicated placement, compute profiles, replicas, and database storage.

The `scale` section of [`squid.yaml`](/en/cloud/reference/manifest) controls deployment placement and resources. It is available in [Professional organizations](/en/cloud/resources/organizations#professional-organizations).

Resource changes take effect on redeployment and change billing immediately. Review the current [profile prices and specifications](/en/cloud/pricing/pricing-details) instead of copying resource figures into application configuration.

<h2 id="dedicated">
  Dedicated or collocated
</h2>

```yaml theme={"system"}
scale:
  dedicated: true
```

With a `scale` section, `dedicated` defaults to `true`.

* **Dedicated** services reserve their requested resources. Use them for production and workloads that need predictable performance.
* **Collocated** services share capacity. They cost less, but performance is not guaranteed and they are not covered by the production SLA.

Playground organizations are collocated and do not accept a `scale` section.

<h2 id="processor">
  Processor profile
</h2>

```yaml theme={"system"}
scale:
  processor:
    profile: medium
```

Allowed profiles are `small`, `medium`, `large`, `xlarge`, and `2xlarge`.

If a manifest declares multiple named processors, the processor profile applies to those processor services. Each processor runs and is billed separately.

<Tip>
  Increase the processor profile only after checking logs, indexing speed, and
  database load. A faster processor cannot fix a slow or incomplete upstream
  RPC endpoint.
</Tip>

<h2 id="api">
  API profile and replicas
</h2>

```yaml theme={"system"}
scale:
  api:
    profile: medium
    replicas: 2
```

Allowed API profiles are `small`, `medium`, `large`, `xlarge`, and `2xlarge`. `replicas` accepts `1` through `5`.

Each replica is billed independently. Replicas improve request concurrency and service redundancy; they do not speed up the processor or database.

## Postgres resources

```yaml theme={"system"}
scale:
  addons:
    postgres:
      profile: medium
      storage: 100Gi
      autoresize: true
      autoresize_limit: 250Gi
```

Allowed Postgres profiles are `small`, `medium`, `large`, `xlarge`, and `2xlarge`.

Storage values are a number followed by `G`, `Gi`, `T`, or `Ti`. The default is `10Gi`.

<Warning>
  Increasing storage is not a substitute for controlling table growth. Monitor
  storage, remove data you no longer need, and tune update-heavy tables before
  they accumulate excessive bloat.
</Warning>

See [Postgres](/en/cloud/reference/pg) for database versions, timeouts, connection limits, and direct access.

## Hasura resources

```yaml theme={"system"}
scale:
  addons:
    hasura:
      profile: medium
      replicas: 2
```

Hasura supports `small`, `medium`, and `large` profiles, with `1` through `5` replicas.

## Complete example

```yaml title="squid.yaml" theme={"system"}
manifest_version: subsquid.io/v0.1
name: sample-squid

build:

deploy:
  addons:
    postgres:
      version: "18"
  processor:
    cmd: ["sqd", "process:prod"]
  api:
    cmd: ["sqd", "serve:prod"]

scale:
  dedicated: true
  addons:
    postgres:
      profile: medium
      storage: 100Gi
      autoresize: true
      autoresize_limit: 250Gi
  processor:
    profile: medium
  api:
    profile: large
    replicas: 3
```

## Cost checklist

Before redeploying, count every running resource:

* each slot is an independent deployment;
* each named processor is a separate processor service;
* each API replica is billed separately;
* Postgres compute and storage are separate charges;
* old and new slots both accrue charges during zero-downtime cutovers.

Use [Billing and Usage](https://cloud.sqd.dev/billing/usage) to filter usage by squid, then compare it with the [cost calculator](/en/cloud/pricing/overview#estimate-your-costs).


## Related topics

- [Deployment manifest](/en/cloud/reference/manifest.md)
- [Deployment Guide](/en/cloud/deployment-guide.md)
- [Best practices](/en/sdk/squid-sdk/substrate/guides/best-practices.md)
- [Organizations](/en/cloud/resources/organizations.md)
- [addons.hasura section](/en/cloud/reference/hasura.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.