# Block Submission

External builders with enterprise plan or above are allowed to submit blocks to bloXroute max profit relay and regulated relay on Ethereum Mainnet. bloXroute [relay](https://docs.bloxroute.com/eth/block-builders-and-validators/mev-relay-for-validators) supports [Relay API spec](https://flashbots.github.io/relay-specs/#/Builder/submitBlock), and block builders can submit blocks to the `/relay/v1/builder/blocks` endpoint. Builder must include their [authorization header](https://docs.bloxroute.com/getting-started/authorization-headers) (from bloXroute account portal) in the http request header, like `-H "Authorization:  <YOUR-AUTHORIZATION-HEADER>"` , when submitting blocks to bloXroute relay.<br>

Builders with Enterprise plan or above can start submitting blocks to bloXroute now! Builders with Ultra tier will be able to get from bloXroute MEV bundles and private transactions to be added to their blocks.

#### Dehydrated block submission

You can enable dehydration on block submissions to optimize bandwidth utilization:

* For HTTP: Add an `X-Hydrate` header to your submission
* For gRPC: Set the `hydrate` boolean field on `SubmitBlockRequest`

For blob handling, the HTTP submission model now supports the `NewItems` field with the following structure:

```go
type FuluExtendedBlobsBundle struct {
	Commitments []deneb.KZGCommitment    `json:"commitments" ssz-max:"4096" ssz-size:"?,48"`
	Proofs      []deneb.KZGProof         `json:"proofs" ssz-max:"33554432" ssz-size:"?,48"`
	Blobs       []deneb.Blob             `json:"blobs" ssz-max:"4096" ssz-size:"?,131072"`
	NewItems    []*FuluHydrationBlobItem `json:"new_items" ssz-max:"4096" ssz-size:"?,137268"`
}

type FuluHydrationBlobItem struct {
	Proof      []deneb.KZGProof    `json:"proof" ssz-max:"128" ssz-size:"?,48"`
	Commitment deneb.KZGCommitment `json:"commitment" ssz-size:"48"`
	Blob       deneb.Blob          `json:"blob" ssz-size:"131072"`
}
```

Similarly, the gRPC submission model introduces the `NewItems` field that can be explored [here](https://github.com/bloXroute-Labs/relay-grpc/blob/develop/blxr-mev.proto). Blob items submitted via `NewItems` are cached locally using their commitment as a key, and the commitments at the blob bundle level are used to reference them in subsequent submissions.

Dehydrated block submissions are fully compatible with the similar features of [Titan](https://docs.titanrelay.xyz/builders/builder-integration#block-deltas) and [Ultrasound](https://docs.ultrasound.money/builders/builder-getting-started#block-deltas)  supporting both transaction and blob deltas.

#### Block Submission Rate Limits and Restriction

<table><thead><tr><th width="207.6824951171875">Plan</th><th width="315.727783203125">Block Simulation</th><th>Block Cancellation</th></tr></thead><tbody><tr><td>VIP (Contact bloXroute)</td><td>Dedicated Bare Metal Server or Skip Simulation</td><td>Supported</td></tr><tr><td>Ultra bundle</td><td>Dedicated Bare Metal Server</td><td>Supported</td></tr><tr><td>Elite bundle</td><td>Shared Cloud Server</td><td>Unsupported</td></tr><tr><td>Enterprise bundle</td><td>Shared Cloud Server</td><td>Unsupported</td></tr></tbody></table>
