---
title: "Deploy Solana Token"
method: POST
path: "/v1/solana/deploy"
tags: ["Solana"]
---

# Deploy Solana Token

`POST /v1/solana/deploy`

Deploy a new SPL token or Token-2022 token on Solana. Creates a new mint account with the specified parameters and optionally mints initial supply.

**Token Programs**:
- `spl-token`: Standard SPL Token program - widely supported, recommended for most use cases
- `token-2022`: Token Extensions program - supports advanced features like transfer fees, interest-bearing tokens, etc.

**Authentication**: This endpoint requires backend authentication using the x-secret-key header. The secret key should never be exposed publicly.

## Request body

- object — Request payload for deploying a new SPL token or Token-2022 token on Solana.
  - `from` string, required — Solana wallet address that will pay for the deployment and serve as the mint authority.
  - `chainId` string, required — Solana network for deployment. Use solana:mainnet or solana:devnet.
  - `name` string, required — Token name (max 32 characters). Stored in on-chain metadata.
  - `symbol` string, required — Token symbol (max 10 characters). Stored in on-chain metadata.
  - `decimals` integer — Number of decimal places for the token. Standard is 9 for SOL-like tokens, 6 for USDC-like.
  - `initialSupply` string — Initial token supply to mint, expressed in the smallest unit (base units). For example, for a token with 9 decimals, '1000000000' would be 1 token.
  - `mintAuthority` string — Address authorized to mint new tokens. Defaults to the 'from' address if not specified.
  - `freezeAuthority` string — Address authorized to freeze token accounts. Omit to disable freeze functionality.
  - `tokenProgram` 'spl-token' | 'token-2022' — Token program to use for deployment. Use 'spl-token' for standard SPL tokens or 'token-2022' for Token Extensions program.

## Response `200`

Token deployed successfully. Returns the transaction signature and mint address.

- object — Response containing the transaction ID and deployed token mint address.
  - `result` object, required
    - `transactionId` string, required — Idempotency key assigned to the queued deployment transaction.
    - `mintAddress` string, required — The address of the newly deployed token mint.

## Other responses

- `400` — Invalid request parameters.
- `401` — Authentication required. Include x-secret-key or Authorization headers.
- `500` — Internal server error occurred while processing the deployment.

---

[API](https://skmtc.net/thirdweb/apis/thirdweb-api.md) · [All operations](https://skmtc.net/thirdweb/apis/thirdweb-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/thirdweb/thirdweb-api/revisions/fb4cb67da1c7/schema)
