# Build Transaction

<figure><img src="https://1878311582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrN5WLmmo14XNSVjsb16D%2Fuploads%2FOPTKiRvLuHgLWzGwMv1H%2Fimage.png?alt=media&#x26;token=c915b2bf-44c2-476a-bc44-11d1df908d7f" alt="" width="563"><figcaption></figcaption></figure>

### Input

```typescript
type BuildTransactionPipelineInput = {
  header: EnvelopeHeader
  horizonHandler: HorizonHandler
  operations: xdr.Operation[]
  networkPassphrase: string
  sorobanData?: string | xdr.SorobanTransactionData
}
```

* **header**: Base parameters to build the envelope. Contains a source account, fee, and timeout information.
* **horizonHandler**: A handler to fetch data from Stellar through a Horizon instance.
* **operations**:  An array of operations to be included in the transaction.
* **networkPassphrase**: The network passphrase for the target network for this transaction.
* **sorobanData**:  Soroban data to be included in the transaction.&#x20;

**Output:**

```typescript
type BuildTransactionPipelineOutput = Transaction
```

The output directly returns a transaction built with the provided parameters.
