# signTransaction · FT4 TypeScript client · Chromia Docs (concept)

> signTransaction(
    authenticator: Authenticator ,
    tx: RawGtx | GTX | SignedTransaction,
): Promise<SignedTransaction> Signs a transaction using an au

Source: https://docs.chromia.com/pages/ft4-ts-client/functions/transaction-builder.signTransaction/

Function

# signTransaction

* ```signature
  signTransaction(
      authenticator: Authenticator,
      tx: RawGtx | GTX | SignedTransaction,
  ): Promise<SignedTransaction>
  ```

  Signs a transaction using an authenticator. This function will add all the necessary missing
  signatures which the authenticator permits it to. I.e., both evm and ft signatures. For signers
  which the authenticator does not know how to sign, it will just ignore adding those signatures.
  It is important to notice however, that if this function is called to add additional evm signatures
  after ft signatures are added. An error will be thrown. If you want to sign the transactions with
  keystores instead of with an authenticator, see: [signTransactionWithKeyStores](https://docs.chromia.com/pages/ft4-ts-client/functions/transaction-builder.signTransactionWithKeyStores/)

  #### Parameters

  + authenticator: [Authenticator](https://docs.chromia.com/pages/ft4-ts-client/interfaces/authentication.Authenticator/)

    the authenticator to use when signing the transaction
  + tx: RawGtx | GTX | SignedTransaction

    the transaction to sign

  #### Returns Promise<SignedTransaction>

  the provided transaction with the appropriate signatures added

  #### Remarks

  all evm signatures have to be added before ft signatures can be added. Trying to add
  evm signatures after ft signatures are added will result in an error.

[View this page on docs.chromia.com](https://docs.chromia.com/pages/ft4-ts-client/functions/transaction-builder.signTransaction.html)Generated API reference, mirrored from the live docs
