---
title: "Sign Solana Transaction"
method: POST
path: "/v1/solana/sign-transaction"
tags: ["Solana"]
---

# Sign Solana Transaction

`POST /v1/solana/sign-transaction`

Sign a Solana transaction using a server wallet without broadcasting it. Provide either a serialized transaction or the instructions to assemble one, along with execution options.

**Authentication**: This endpoint requires backend authentication using the x-secret-key header. Optionally, include x-vault-access-token if your wallet is managed via Vault.

## Request body

- object — Request payload for signing a Solana transaction. Provide a serialized transaction or a set of instructions to be assembled server-side.
  - `from` string, required — The Solana wallet address that will sign the transaction.
  - `chainId` string, required — Solana network the transaction targets. Use solana:mainnet or solana:devnet.
  - `transaction` string — Base64 encoded Solana transaction to sign.
  - `instructions` object[] — Instructions that will be assembled into a transaction before signing.
    - `programId` string, required — Program address to invoke for this instruction.
    - `accounts` object[], required — Ordered list of accounts consumed by the instruction.
      - `address` string, required — Public key for the account.
      - `isSigner` boolean, required — Whether this account must sign the transaction.
      - `isWritable` boolean, required — Whether this account can be modified by the instruction.
    - `data` string, required — Instruction data encoded using the provided encoding.
    - `encoding` 'hex' | 'base64' — Encoding used for the instruction data payload.
  - `priorityFee` union — Priority fee configuration applied via the compute budget program.
    - object
      - `type` 'auto', required
    - object
      - `type` 'manual', required
      - `microLamportsPerUnit` integer, nullable, required — Explicit micro-lamports per compute unit for priority fees.
    - object
      - `type` 'percentile', required
      - `percentile` integer, nullable, required — Percentile to pull from recent priority fee estimates (0-100).
  - `computeUnitLimit` integer, nullable — Override the compute unit limit for the transaction via the compute budget program.

## Response `200`

Transaction signed successfully. Returns the signature and the fully signed transaction payload.

- object
  - `result` object, required
    - `signature` string, required — Base58 encoded signature for the provided transaction.
    - `signedTransaction` string, required — Base64 encoded signed transaction that can be broadcast to the Solana network.

## Other responses

- `401` — Authentication required. Include x-secret-key or Authorization headers.
- `500` — Internal server error occurred while signing the transaction.

---

[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)
