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

# primitives/BuilderBid

> Auto-generated API documentation

[**@tevm/voltaire**](../index.mdx)

***

[@tevm/voltaire](../index.mdx) / primitives/BuilderBid

# primitives/BuilderBid

## Classes

### InvalidBuilderBidError

Defined in: [src/primitives/BuilderBid/errors.js:6](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/errors.js#L6)

Error thrown when BuilderBid operations fail

#### Extends

* `Error`

#### Constructors

##### Constructor

> **new InvalidBuilderBidError**(`message`, `details`): [`InvalidBuilderBidError`](#invalidbuilderbiderror)

Defined in: [src/primitives/BuilderBid/errors.js:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/errors.js#L7)

###### Parameters

###### message

`any`

###### details

`any`

###### Returns

[`InvalidBuilderBidError`](#invalidbuilderbiderror)

###### Overrides

`Error.constructor`

#### Properties

##### details

> **details**: `any`

Defined in: [src/primitives/BuilderBid/errors.js:10](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/errors.js#L10)

##### name

> **name**: `string`

Defined in: [src/primitives/BuilderBid/errors.js:9](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/errors.js#L9)

###### Inherited from

`Error.name`

## Type Aliases

### BuilderBidHex

> **BuilderBidHex** = `object`

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:102](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L102)

BuilderBid with hex strings (common in RPC responses)

#### Properties

##### block\_hash

> `readonly` **block\_hash**: `string`

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:105](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L105)

##### builder\_pubkey

> `readonly` **builder\_pubkey**: `string`

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:106](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L106)

##### gas\_limit

> `readonly` **gas\_limit**: `string`

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:109](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L109)

##### gas\_used

> `readonly` **gas\_used**: `string`

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:110](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L110)

##### parent\_hash

> `readonly` **parent\_hash**: `string`

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:104](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L104)

##### proposer\_fee\_recipient

> `readonly` **proposer\_fee\_recipient**: `string`

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:108](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L108)

##### proposer\_pubkey

> `readonly` **proposer\_pubkey**: `string`

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:107](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L107)

##### signature

> `readonly` **signature**: `string`

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:112](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L112)

##### slot

> `readonly` **slot**: `string`

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:103](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L103)

##### value

> `readonly` **value**: `string`

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:111](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L111)

***

### BuilderBidLike

> **BuilderBidLike** = [`BuilderBidType`](#builderbidtype) | \{ `blockHash`: [`HashType`](../index/namespaces/HashType.mdx#hashtype) | `string` | `Uint8Array`; `builderPubkey`: `Uint8Array` | `string`; `gasLimit`: [`Type`](Uint.mdx#type) | `bigint` | `number` | `string`; `gasUsed`: [`Type`](Uint.mdx#type) | `bigint` | `number` | `string`; `parentHash`: [`HashType`](../index/namespaces/HashType.mdx#hashtype) | `string` | `Uint8Array`; `proposerFeeRecipient`: [`AddressType`](Address.mdx#addresstype) | `string`; `proposerPubkey`: `Uint8Array` | `string`; `signature`: `Uint8Array` | `string`; `slot`: [`SlotType`](Slot.mdx#slottype) | `bigint` | `number` | `string`; `value`: [`Type`](Uint.mdx#type) | `bigint` | `number` | `string`; }

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:84](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L84)

Inputs that can be converted to BuilderBid

***

### BuilderBidType

> **BuilderBidType** = `object`

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:19](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L19)

BuilderBid type

Represents a block builder bid in Proposer-Builder Separation (PBS).
Block builders compete to provide the most valuable block to validators
through MEV-Boost relays. The bid includes the proposed block details,
value offered to the proposer, and cryptographic signatures.

#### See

* [https://voltaire.tevm.sh/primitives/builder-bid](https://voltaire.tevm.sh/primitives/builder-bid) for BuilderBid documentation
* [https://boost.flashbots.net/](https://boost.flashbots.net/) for MEV-Boost
* [https://ethereum.org/en/roadmap/pbs/](https://ethereum.org/en/roadmap/pbs/) for PBS overview

#### Since

0.0.0

#### Properties

##### blockHash

> `readonly` **blockHash**: [`HashType`](../index/namespaces/HashType.mdx#hashtype)

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:36](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L36)

Proposed block hash
Hash of the block being bid on

##### builderPubkey

> `readonly` **builderPubkey**: `Uint8Array`

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:42](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L42)

Builder's BLS public key (48 bytes)
Identity of the block builder

##### gasLimit

> `readonly` **gasLimit**: [`Type`](Uint.mdx#type)

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:60](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L60)

Block gas limit
Maximum gas allowed in the proposed block

##### gasUsed

> `readonly` **gasUsed**: [`Type`](Uint.mdx#type)

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:66](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L66)

Gas used in block
Actual gas consumed by transactions

##### parentHash

> `readonly` **parentHash**: [`HashType`](../index/namespaces/HashType.mdx#hashtype)

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:30](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L30)

Parent block hash
The block being built on top of

##### proposerFeeRecipient

> `readonly` **proposerFeeRecipient**: [`AddressType`](Address.mdx#addresstype)

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:54](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L54)

Fee recipient address
Where block rewards and tips are sent

##### proposerPubkey

> `readonly` **proposerPubkey**: `Uint8Array`

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:48](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L48)

Proposer's BLS public key (48 bytes)
Identity of the validator proposing this slot

##### signature

> `readonly` **signature**: `Uint8Array`

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:78](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L78)

Builder's BLS signature (96 bytes)
Cryptographic proof of bid authenticity

##### slot

> `readonly` **slot**: [`SlotType`](Slot.mdx#slottype)

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:24](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L24)

Beacon chain slot number for this bid
Each slot is 12 seconds

##### value

> `readonly` **value**: [`Type`](Uint.mdx#type)

Defined in: [src/primitives/BuilderBid/BuilderBidType.ts:72](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/BuilderBidType.ts#L72)

Bid value to proposer (in wei)
Amount builder pays validator for block inclusion

## Functions

### from()

> **from**(`value`): [`BuilderBidType`](#builderbidtype)

Defined in: [src/primitives/BuilderBid/from.js:73](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/from.js#L73)

Creates a BuilderBid from various input types

#### Parameters

##### value

[`BuilderBidLike`](#builderbidlike)

BuilderBid input

#### Returns

[`BuilderBidType`](#builderbidtype)

BuilderBid instance

#### Throws

If bid format is invalid

#### Example

```typescript theme={null}
import * as BuilderBid from './BuilderBid/index.js';
const bid = BuilderBid.from({
  slot: 123456n,
  parentHash: "0x...",
  blockHash: "0x...",
  builderPubkey: builderKey,
  proposerPubkey: proposerKey,
  proposerFeeRecipient: feeRecipient,
  gasLimit: 30000000n,
  gasUsed: 25000000n,
  value: 1000000000000000000n,
  signature: signature,
});
```

***

### getValue()

> **getValue**(`bid`): `bigint`

Defined in: [src/primitives/BuilderBid/getValue.js:19](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/getValue.js#L19)

Gets the bid value in wei

#### Parameters

##### bid

[`BuilderBidType`](#builderbidtype)

BuilderBid instance

#### Returns

`bigint`

Bid value in wei

#### Example

```typescript theme={null}
import * as BuilderBid from './BuilderBid/index.js';
const value = BuilderBid.getValue(bid);
console.log(`Bid: ${value} wei`);
```

***

### toHex()

> **toHex**(`bid`): [`BuilderBidHex`](#builderbidhex)

Defined in: [src/primitives/BuilderBid/toHex.js:32](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/toHex.js#L32)

Converts BuilderBid to hex representation (RPC format)

#### Parameters

##### bid

[`BuilderBidType`](#builderbidtype)

BuilderBid instance

#### Returns

[`BuilderBidHex`](#builderbidhex)

BuilderBid with hex strings

#### Example

```typescript theme={null}
import * as BuilderBid from './BuilderBid/index.js';
const hexBid = BuilderBid.toHex(bid);
```

***

### verify()

> **verify**(`bid`, `crypto`): `boolean`

Defined in: [src/primitives/BuilderBid/verify.js:22](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/BuilderBid/verify.js#L22)

Verifies the builder's BLS signature on the bid

#### Parameters

##### bid

[`BuilderBidType`](#builderbidtype)

BuilderBid instance

##### crypto

Crypto dependencies

###### blsVerify

(`pubkey`, `message`, `signature`) => `boolean`

BLS verification function

#### Returns

`boolean`

True if signature is valid

#### Example

```typescript theme={null}
import * as BuilderBid from './BuilderBid/index.js';
import { blsVerify } from './crypto/bls.js';
const valid = BuilderBid.verify(bid, { blsVerify });
console.log(`Signature valid: ${valid}`);
```
