# 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 [#step-by-step]

### 1. Deploy Principal Token [#1-deploy-principal-token]

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

### 2. Deploy Curve Pool [#2-deploy-curve-pool]

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

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

### Alternative : Deploy all at once [#alternative--deploy-all-at-once]

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