> For the complete documentation index, see [llms.txt](https://dev.spectra.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dev.spectra.finance/guides/deploy-pt-and-curve-pool.md).

# Deploy PT and Curve Pool

Spectra's design philosophy revolves around composability and a permissionless approach. Users have the flexibility to deploy PT/YT and an associated [Curve Pool](https://curve.fi) for any token compliant with the ERC-4626 standard, allowing them to harness the full range of Spectra's features.

## Step by Step

### 1. Deploy Principal Token

Use [`deployPT()`](/technical-reference/contract-functions/factory.md#deploypt) to deploy a PT for the IBT and maturity duration of your choice.

### 2. Deploy Curve Pool

Use [`deployCurvePool()`](/technical-reference/contract-functions/factory.md#deploycurvepool) to deploy a Curve Pool for a given PT and its associated IBT. You have to specify the different Curve Pool Parameters.&#x20;

See the [Curve Pool Parameters guide](/technical-reference/spectras-automated-market-makers.md) for more information on the different parameters to choose when deploying a Curve Pool for a Principal Token.

### Alternative : Deploy all at once

Use [`deployAll()`](/technical-reference/contract-functions/factory.md#deployall) to deploy associated PT, Curve Pool  in a single transaction, for a given PT and maturity duration.
