> For the complete documentation index, see [llms.txt](https://docs.0xweb.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.0xweb.org/dequanto/tx-builder.md).

# Tx Builder

> You won't need to use this class directly. In `0xWeb` generated classes `TxDataBuilder` and `TxWriter` are used under the hood to send transactions.

Prepares the [Tx Data](https://github.com/0xweb-org/dequanto/blob/master/src/txs/TxDataBuilder.ts)🔗 to be submitted to the chain.&#x20;

```typescript
import { TxDataBuilder } from '@dequanto/txs/TxDataBulder'

let builder = new TxDataBuilder(client, account?)
let txData = builder
    // demo with types
    .setInputDataWithTypes(types: any[], paramaters: any[])
    .setInputDataWithABI(fnAbi: string | AbiItem, ...params)
    .setValue(wei: bigint)
    .setNonce(nonceConfig?: TNonceConfig)
    .setGas(gasConfig?: TGasConfig)
    .signToString(privateKey: string);

    
type TNonceConfig {
    // sets the nonce of the first tx in pending state
    overriding?: boolean
    // set the nonce of the N-th tx in pending state
    noncePending?: number
    // custom nonce value
    nonce?: number
}
type TGasConfig {
    price?: bigint
    priceRatio?: number
    gasLimitRatio?: number
    gasLimit?: string | number
    gasEstimation?: boolean
    from?: TAddress
    type?: 1 | 2
}
```
