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

# signTransaction

> Sign a prepared transaction with the transaction's configured signers.

`prepared` comes from `prepareTransaction`. Ordinary signing collects all
required proofs, including requested EIP-7702 delegations. A quote override
must be used consistently when inspecting requests and signing.

Method on an account instance returned by [`createAccount`](/wallets/custom-signer/sdk-reference/rhinestone-sdk/create-account). Requires a managed transaction account (EVM or managed Solana); unavailable on receiver-only and standalone Solana accounts.

## Usage

### Ordinary signing

Sign a prepared transaction with the transaction's configured signers.

`prepared` comes from `prepareTransaction`. Ordinary signing collects all
required proofs, including requested EIP-7702 delegations. A quote override
must be used consistently when inspecting requests and signing.

```ts theme={null}
const signed = await account.signTransaction(prepared)
```

#### Parameters

<ParamField path="preparedTransaction" type="PreparedTransactionData" required>
  Prepared transaction data
</ParamField>

<ParamField path="options" type="QuoteSelection">
  Optional override; pass `{ intentId }` to sign a specific quote from `preparedTransaction.quotes.all`
</ParamField>

#### Returns

<ResponseField name="transaction" type="SignedTransactionData">
  The signed transaction data
</ResponseField>

### Independent owner signing

Sign a prepared transaction as one configured owner. The returned signature
can be serialized and shared with the party coordinating submission.

`prepared` is the shared prepared transaction and `owner` is one locally
configured viem owner account. All contributors must use the same quote.
Independent signing is not supported for smart sessions or Solana origins.

```ts theme={null}
const contribution = await account.signTransaction(prepared, { owner })
```

#### Parameters

<ParamField path="preparedTransaction" type="PreparedTransactionData" required>
  Prepared transaction data
</ParamField>

<ParamField path="options" type="SignAsOwnerOptions" required>
  Owner account, optional quote, and multi-factor validator ID
</ParamField>

#### Returns

<ResponseField name="transaction" type="OwnerSignature">
  This owner's signature contribution
</ResponseField>

## See also

* [prepareTransaction](/wallets/custom-signer/sdk-reference/account/transactions/prepare-transaction) to prepare the transaction data for signing
* [submitTransaction](/wallets/custom-signer/sdk-reference/account/transactions/submit-transaction) to submit the signed transaction
* [prepareTransaction](/wallets/custom-signer/sdk-reference/account/transactions/prepare-transaction) to prepare the transaction data for signing
* [assembleTransaction](/wallets/custom-signer/sdk-reference/account/transactions/assemble-transaction) to combine independent owner signatures


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