<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Signet – Same Block on Signet</title><link>https://test.signet.sh/</link><description>Recent content in Signet – Same Block on Signet</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 07 Apr 2026 13:02:04 -0700</lastBuildDate><atom:link href="https://test.signet.sh/index.xml" rel="self" type="application/rss+xml"/><item><title>Authentication</title><link>https://test.signet.sh/docs/block-builders/run-a-builder/authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/block-builders/run-a-builder/authentication/</guid><description>&lt;h1 id="authentication"&gt;Authentication&lt;/h1&gt;&lt;h2 id="overview"&gt;Overview&lt;a href="#overview" class="heading-anchor" data-heading-anchor aria-label="Link to Overview"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Authentication will be required for the following behaviors:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Getting a sequencer co-signature on a built block.&lt;/li&gt;
&lt;li&gt;Retrieving bundles from the bundle relay.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Authentication will be performed using a standard OAuth2 client credential grant and then the access token you receive can be used to authorize all requests to the sequencer and bundle relay.&lt;/p&gt;
&lt;h2 id="oauth-identity-provider-reference"&gt;OAuth Identity Provider Reference&lt;a href="#oauth-identity-provider-reference" class="heading-anchor" data-heading-anchor aria-label="Link to OAuth Identity Provider Reference"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;h3 id="havarti"&gt;Havarti&lt;a href="#havarti" class="heading-anchor" data-heading-anchor aria-label="Link to Havarti"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;div style="--col-1: 30%; --col-2: 70%;"&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Issuer&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://auth.havarti.signet.sh/realms/master" rel="noopener noreferrer" target="_blank"&gt;&lt;code&gt;https://auth.havarti.signet.sh/realms/master&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;OAuth &lt;code&gt;.well-known&lt;/code&gt; URL&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://auth.havarti.signet.sh/realms/master/.well-known/openid-configuration" rel="noopener noreferrer" target="_blank"&gt;&lt;code&gt;https://auth.havarti.signet.sh/realms/master/.well-known/openid-configuration&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Authorize Endpoint&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://auth.havarti.signet.sh/realms/master/protocol/openid-connect/auth" rel="noopener noreferrer" target="_blank"&gt;&lt;code&gt;https://auth.havarti.signet.sh/realms/master/protocol/openid-connect/auth&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Token Endpoint&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://auth.havarti.signet.sh/realms/master/protocol/openid-connect/token" rel="noopener noreferrer" target="_blank"&gt;&lt;code&gt;https://auth.havarti.signet.sh/realms/master/protocol/openid-connect/token&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;h2 id="authenticating-using-curl"&gt;Authenticating Using &lt;code&gt;curl&lt;/code&gt;&lt;a href="#authenticating-using-curl" class="heading-anchor" data-heading-anchor aria-label="Link to Authenticating Using curl"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;First off a basic example of getting an OAuth2 access token and using it to authenticate any of our secured API&amp;rsquo;s&lt;/p&gt;</description></item><item><title>Build from source</title><link>https://test.signet.sh/docs/block-builders/run-a-builder/install-and-run-a-node/build-from-source/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/block-builders/run-a-builder/install-and-run-a-node/build-from-source/</guid><description>&lt;h1 id="build-from-source"&gt;Build From Source&lt;/h1&gt;&lt;aside class="callout callout--warning"&gt;
 You must have a running consensus client that is accessible to the Signet client.
&lt;/aside&gt;
&lt;h2 id="installation"&gt;Installation&lt;a href="#installation" class="heading-anchor" data-heading-anchor aria-label="Link to Installation"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Clone the repository&lt;/p&gt;
&lt;div class="code-block" data-code-block&gt;
 &lt;div class="code-header"&gt;
 &lt;span class="code-lang"&gt;bash&lt;/span&gt;
 &lt;button class="code-copy" data-copy-button aria-label="Copy code" type="button"&gt;Copy&lt;/button&gt;
 &lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/init4tech/signet.git&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Build the binary&lt;/p&gt;
&lt;div class="code-block" data-code-block&gt;
 &lt;div class="code-header"&gt;
 &lt;span class="code-lang"&gt;bash&lt;/span&gt;
 &lt;button class="code-copy" data-copy-button aria-label="Copy code" type="button"&gt;Copy&lt;/button&gt;
 &lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cargo build --release --bin signet&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Download a binary from &lt;a href="https://github.com/init4tech/signet/releases" rel="noopener noreferrer" target="_blank"&gt;github releases&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Configure the &lt;a href="https://test.signet.sh/docs/block-builders/run-a-builder/install-and-run-a-node/environment-variables/"&gt;environment variables&lt;/a&gt; as needed&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Copy the binary from the release to a location in your users path&lt;/p&gt;</description></item><item><title>Environment variables</title><link>https://test.signet.sh/docs/block-builders/run-a-builder/environment-variables/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/block-builders/run-a-builder/environment-variables/</guid><description>&lt;h1 id="environment-variables"&gt;Environment Variables&lt;/h1&gt;&lt;p&gt;The Builder is configured via environment variables. The following values are supported for configuration.&lt;/p&gt;
&lt;div style="--col-1: 40%; --col-2: 15%; --col-3: 45%;"&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Required&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;HOST_CHAIN_ID&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Host-chain ID (e.g. 3151908)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;RU_CHAIN_ID&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Rollup-chain ID (e.g. 88888)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;HOST_RPC_URL&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;RPC endpoint for the host chain&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ROLLUP_RPC_URL&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;RPC endpoint for the rollup chain&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;TX_POOL_URL&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Transaction pool URL (must end with /)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;FLASHBOTS_ENDPOINT&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-success"&gt;Optional&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;When configured, the Builder will send Signet blocks to this URL as transaction bundles&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;TX_BROADCAST_URLS&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-success"&gt;Optional&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Additional endpoints for blob txs (comma-separated, slash required)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ZENITH_ADDRESS&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Zenith contract address&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;BUILDER_HELPER_ADDRESS&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Builder helper contract address&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;QUINCEY_URL&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Remote sequencer signing endpoint&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;BUILDER_PORT&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;HTTP port for the Builder (default: 8080)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;SEQUENCER_KEY&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;AWS KMS key ID &lt;em&gt;or&lt;/em&gt; local private key for sequencer signing&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;BUILDER_KEY&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;AWS KMS key ID &lt;em&gt;or&lt;/em&gt; local private key for builder signing&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;BUILDER_REWARDS_ADDRESS&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Address receiving builder rewards&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ROLLUP_BLOCK_GAS_LIMIT&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-success"&gt;Optional&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Override for block gas limit&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;CONCURRENCY_LIMIT&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-success"&gt;Optional&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Max concurrent tasks the simulator uses&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;OAUTH_CLIENT_ID&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Oauth client ID for the builder&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;OAUTH_CLIENT_SECRET&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Oauth client secret for the builder&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;OAUTH_AUTHENTICATE_URL&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Oauth authenticate URL for the builder for performing OAuth logins&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;OAUTH_TOKEN_URL&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Oauth token URL for the builder to get an Oauth2 access token&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;AUTH_TOKEN_REFRESH_INTERVAL&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;The OAuth token refresh interval in seconds.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;CHAIN_NAME&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;The name of the chain (e.g. &lt;code&gt;parmigiana&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;</description></item><item><title>Fetching transactions</title><link>https://test.signet.sh/docs/searchers/fetching-transactions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/searchers/fetching-transactions/</guid><description>&lt;aside class="callout callout--info"&gt;
 &lt;div class="callout-title"&gt;The Signet transaction cache&lt;/div&gt;
 Signet&amp;rsquo;s transaction cache stores pending transactions, orders and bundles submitted to the network, providing MEV searchers with a stream of opportunities without having to run their orderflow infrastructure. We&amp;rsquo;ll focus on the basics of fetching transactions.
&lt;/aside&gt;
&lt;p&gt;Transactions can be fetched from Signet&amp;rsquo;s transaction cache. Fetching transactions is easy with Signet&amp;rsquo;s Transaction Cache Client. Consult the &lt;a href="https://test.signet.sh/docs/build-on-signet/parmigiana/"&gt;Parmigiana Quickstart&lt;/a&gt; for any other RPC endpoints or contract addresses you might need.&lt;/p&gt;</description></item><item><title>Getting transactions and bundles</title><link>https://test.signet.sh/docs/block-builders/customizing-a-builder/getting-transactions-and-bundles-for-a-block/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/block-builders/customizing-a-builder/getting-transactions-and-bundles-for-a-block/</guid><description>&lt;h1 id="getting-transactions-and-bundles"&gt;Getting Transactions and Bundles&lt;/h1&gt;&lt;p&gt;The transaction cache offers endpoints for getting simple transactions and Flashbots-style transaction bundles.&lt;/p&gt;
&lt;p&gt;Fetching bundles requires authentication. This is because Builders are only allowed to build blocks for their assigned slots. See &lt;a href="https://test.signet.sh/docs/block-builders/run-a-builder/authentication/"&gt;Authentication&lt;/a&gt; for details.&lt;/p&gt;
&lt;h2 id="transaction-cache-basics"&gt;Transaction cache basics:&lt;a href="#transaction-cache-basics" class="heading-anchor" data-heading-anchor aria-label="Link to Transaction cache basics:"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;API Endpoint&lt;/strong&gt;: &lt;code&gt;transactions.api.signet.sh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cache Duration&lt;/strong&gt;: 10 minutes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Authentication:&lt;/strong&gt; Authentication is required to retrieve bundles, but not to retrieve transactions.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="api-endpoints"&gt;API Endpoints&lt;a href="#api-endpoints" class="heading-anchor" data-heading-anchor aria-label="Link to API Endpoints"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;h3 id="get-transactions"&gt;Get Transactions&lt;a href="#get-transactions" class="heading-anchor" data-heading-anchor aria-label="Link to Get Transactions"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;div class="code-block" data-code-block&gt;
 &lt;div class="code-header"&gt;
 &lt;span class="code-lang"&gt;http&lt;/span&gt;
 &lt;button class="code-copy" data-copy-button aria-label="Copy code" type="button"&gt;Copy&lt;/button&gt;
 &lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-http" data-lang="http"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;GET /transactions&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Returns a list of transactions available for inclusion in a block.&lt;/p&gt;</description></item><item><title>Bundle guarantees</title><link>https://test.signet.sh/docs/block-builders/customizing-a-builder/bundle-guarantees/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/block-builders/customizing-a-builder/bundle-guarantees/</guid><description>&lt;h1 id="bundle-guarantees"&gt;Bundle Guarantees&lt;/h1&gt;&lt;p&gt;Signet bundles are &lt;a href="https://docs.flashbots.net/flashbots-protect/additional-documentation/bundle-cache" rel="noopener noreferrer" target="_blank"&gt;Flashbots-style&lt;/a&gt; bundles of transactions wrapped with a &lt;code&gt;host_fills&lt;/code&gt; field.&lt;/p&gt;
&lt;p&gt;When building blocks containing Signet orders, the atomicity constraints apply to &lt;code&gt;host_fills&lt;/code&gt; as well, meaning that if a &lt;code&gt;host_fill&lt;/code&gt; is included and no corresponding rollup transaction is included, it would be considered invalid.&lt;/p&gt;
&lt;h2 id="bundle-guarantees-1"&gt;Bundle Guarantees&lt;a href="#bundle-guarantees-1" class="heading-anchor" data-heading-anchor aria-label="Link to Bundle Guarantees"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Block Builders should respect the following guarantees around bundles when building blocks.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Ordering&lt;/strong&gt;: The transaction ordering in a bundle must be preserved.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Atomicity&lt;/strong&gt;: Bundles won&amp;rsquo;t be split up and will be applied as a contiguous block of transactions or won&amp;rsquo;t be applied at all.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Revertibility&lt;/strong&gt;: Transactions in a bundle won&amp;rsquo;t revert unless explicitly marked as revertible.&lt;/li&gt;
&lt;/ul&gt;
&lt;aside class="callout callout--info"&gt;
 Transactions from the cache can be treated normally and included as seen fit.
&lt;/aside&gt;</description></item><item><title>Docker</title><link>https://test.signet.sh/docs/block-builders/run-a-builder/install-and-run-a-node/docker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/block-builders/run-a-builder/install-and-run-a-node/docker/</guid><description>&lt;h1 id="docker"&gt;Docker&lt;/h1&gt;&lt;aside class="callout callout--warning"&gt;
 You must have a running consensus client that is accessible to the Signet client.
&lt;/aside&gt;
&lt;h2 id="installation"&gt;Installation&lt;a href="#installation" class="heading-anchor" data-heading-anchor aria-label="Link to Installation"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Pull image from Github Container Repository&lt;/p&gt;
&lt;div class="code-block" data-code-block&gt;
 &lt;div class="code-header"&gt;
 &lt;span class="code-lang"&gt;bash&lt;/span&gt;
 &lt;button class="code-copy" data-copy-button aria-label="Copy code" type="button"&gt;Copy&lt;/button&gt;
 &lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker pull ghcr.io/init4tech/signet:latest&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run the container, specifying the &lt;a href="https://test.signet.sh/docs/block-builders/run-a-builder/install-and-run-a-node/environment-variables/"&gt;environment variables&lt;/a&gt; as needed&lt;/p&gt;
&lt;div class="code-block" data-code-block&gt;
 &lt;div class="code-header"&gt;
 &lt;span class="code-lang"&gt;bash&lt;/span&gt;
 &lt;button class="code-copy" data-copy-button aria-label="Copy code" type="button"&gt;Copy&lt;/button&gt;
 &lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker run -d &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="nv"&gt;BLOB_EXPLORER_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;value &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="nv"&gt;SIGNET_STATIC_PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;value &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="nv"&gt;SIGNET_DATABASE_PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;value &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="nv"&gt;IPC_ENDPOINT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;value &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="nv"&gt;RPC_PORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;value &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="nv"&gt;WS_RPC_PORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;value &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="nv"&gt;IPC_ENDPOINT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;value &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="nv"&gt;TX_FORWARD_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;value &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="nv"&gt;GENESIS_JSON_PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;value &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="nv"&gt;BASE_FEE_RECIPIENT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;value &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="nv"&gt;SIGNET_CL_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;value &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="nv"&gt;SIGNET_PYLON_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;value &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="nv"&gt;HOST_START_TIMESTAMP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;value &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="nv"&gt;HOST_SLOT_OFFSET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;value &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="nv"&gt;HOST_SLOT_DURATION&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;value
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ghcr.io/init4tech/signet:latest&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Signed orders</title><link>https://test.signet.sh/docs/searchers/signed-orders/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/searchers/signed-orders/</guid><description>&lt;h1 id="signed-orders"&gt;Signed Orders&lt;/h1&gt;&lt;aside class="callout callout--info"&gt;
 &lt;div class="callout-title"&gt;Signing Orders&lt;/div&gt;
 Signet&amp;rsquo;s Permit2 integration enhances token transfers by enabling intent-based orders with user signatures and Filler submissions.
&lt;/aside&gt;
&lt;h2 id="constructing-token-transfers"&gt;Constructing Token Transfers&lt;a href="#constructing-token-transfers" class="heading-anchor" data-heading-anchor aria-label="Link to Constructing Token Transfers"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Assemble Data&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Create the &lt;code&gt;outputs&lt;/code&gt; array specifying the tokens, amounts, recipients, and destination chain IDs. Construct the &lt;code&gt;permit&lt;/code&gt; object listing permitted tokens and amounts, along with the &lt;code&gt;nonce&lt;/code&gt; and &lt;code&gt;deadline&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Generate Witness Hash&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Hash the &lt;code&gt;outputs&lt;/code&gt; array to create a witness hash, ensuring the integrity of the transaction details.&lt;/p&gt;</description></item><item><title>Compiled binaries</title><link>https://test.signet.sh/docs/block-builders/run-a-builder/install-and-run-a-node/compiled-binaries/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/block-builders/run-a-builder/install-and-run-a-node/compiled-binaries/</guid><description>&lt;h1 id="compiled-binaries"&gt;Compiled Binaries&lt;/h1&gt;&lt;aside class="callout callout--warning"&gt;
 You must have a running consensus client that is accessible to the Signet client.
&lt;/aside&gt;
&lt;h2 id="installation"&gt;Installation&lt;a href="#installation" class="heading-anchor" data-heading-anchor aria-label="Link to Installation"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Download binary from github releases&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Configure the &lt;a href="https://test.signet.sh/docs/block-builders/run-a-builder/install-and-run-a-node/environment-variables/"&gt;environment variables&lt;/a&gt; as needed&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Copy the binary from the release to a location in your users path&lt;/p&gt;
&lt;div class="code-block" data-code-block&gt;
 &lt;div class="code-header"&gt;
 &lt;span class="code-lang"&gt;bash&lt;/span&gt;
 &lt;button class="code-copy" data-copy-button aria-label="Copy code" type="button"&gt;Copy&lt;/button&gt;
 &lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;tar xzf signet-client-v0.1.0-alpha-1 signet
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp signet /usr/local/bin&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run Signet&lt;/p&gt;
&lt;div class="code-block" data-code-block&gt;
 &lt;div class="code-header"&gt;
 &lt;span class="code-lang"&gt;bash&lt;/span&gt;
 &lt;button class="code-copy" data-copy-button aria-label="Copy code" type="button"&gt;Copy&lt;/button&gt;
 &lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;signet node &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --chain parmigiana &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --authrpc.jwtsecret /path/to/your/jwt.secret &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --http &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --http.addr 127.0.0.1 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --http.api eth,net,trace,txpool,web3,rpc,debug,ots&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Filler</title><link>https://test.signet.sh/docs/searchers/filler/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/searchers/filler/</guid><description>&lt;h1 id="filler"&gt;Filler&lt;/h1&gt;&lt;p&gt;The &lt;code&gt;Filler&lt;/code&gt; struct from &lt;a href="https://docs.rs/signet-orders/latest/signet_orders/" rel="noopener noreferrer" target="_blank"&gt;&lt;code&gt;signet-orders&lt;/code&gt;&lt;/a&gt;
orchestrates the full order-filling pipeline: fetching pending orders from a
source, signing &lt;a href="https://docs.uniswap.org/contracts/permit2/overview" rel="noopener noreferrer" target="_blank"&gt;Permit2&lt;/a&gt;
fills, and submitting them as bundles. It is the main building block for writing
a Signet filler bot.&lt;/p&gt;
&lt;aside class="callout callout--info"&gt;
 &lt;div class="callout-title"&gt;Example implementation&lt;/div&gt;
 The &lt;a href="https://github.com/init4tech/signet-filler" rel="noopener noreferrer" target="_blank"&gt;signet-filler&lt;/a&gt; repository is an
example filler built on top of &lt;code&gt;Filler&lt;/code&gt; and &lt;code&gt;FeePolicySubmitter&lt;/code&gt;. It demonstrates
order filtering, metrics, provider setup, and the overall structure of a filler
service.
&lt;/aside&gt;
&lt;h2 id="setup"&gt;Setup&lt;a href="#setup" class="heading-anchor" data-heading-anchor aria-label="Link to Setup"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;div class="code-block" data-code-block&gt;
 &lt;div class="code-header"&gt;
 &lt;span class="code-lang"&gt;bash&lt;/span&gt;
 &lt;button class="code-copy" data-copy-button aria-label="Copy code" type="button"&gt;Copy&lt;/button&gt;
 &lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cargo add signet-orders signet-types signet-constants signet-tx-cache
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cargo add alloy --features provider-http,signers
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cargo add futures-util&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id="architecture"&gt;Architecture&lt;a href="#architecture" class="heading-anchor" data-heading-anchor aria-label="Link to Architecture"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Filler&lt;/code&gt; is generic over three type parameters:&lt;/p&gt;</description></item><item><title>Environment variables</title><link>https://test.signet.sh/docs/block-builders/run-a-builder/install-and-run-a-node/environment-variables/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/block-builders/run-a-builder/install-and-run-a-node/environment-variables/</guid><description>&lt;h1 id="environment-variables"&gt;Environment Variables&lt;/h1&gt;&lt;p&gt;The following environment variables can be used to configure various aspects of the &lt;code&gt;signet&lt;/code&gt; node client.&lt;/p&gt;
&lt;div style="--col-1: 30%; --col-2: 15%; --col-3: 55%;"&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Environment Variable&lt;/th&gt;
 &lt;th&gt;Required&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;BLOB_EXPLORER_URL&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;URL of a blob explorer&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;SIGNET_STATIC_PATH&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Filesystem path to where the static_files directory should be located&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;SIGNET_DATABASE_PATH&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Filesystem path to where the node should store its database&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;IPC_ENDPOINT&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-success"&gt;Optional&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Filesystem path for the .ipc file&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;GENESIS_JSON_PATH&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Path on the filesystem for the genesis file&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;RPC_PORT&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Port to be used for the rollup node http json-rpc requests&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;WS_RPC_PORT&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Port to be used for the rollup node&amp;rsquo;s WebSocket connections&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;TX_FORWARD_URL&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-success"&gt;Optional&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;URL for the transaction cache API&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;SIGNET_CL_URL&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-success"&gt;Optional&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;URL to the consensus layer for fetching blobs and other CL responsibilities&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;SIGNET_PYLON_URL&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-success"&gt;Optional&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;URL to the Pylon node for blob storage&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;HOST_START_TIMESTAMP&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;The host chain&amp;rsquo;s start timestamp for slot calculation purposes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;HOST_SLOT_OFFSET&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;The host chain&amp;rsquo;s slot offset&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;HOST_SLOT_DURATION&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-danger"&gt;Required&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;The host chain&amp;rsquo;s slot duration&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;RUST_LOG&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;span class="badge badge-success"&gt;Optional&lt;/span&gt;
&lt;/td&gt;
 &lt;td&gt;Standard rust environment variable for logging&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;</description></item><item><title>Getting a sequencer signature</title><link>https://test.signet.sh/docs/block-builders/customizing-a-builder/getting-a-sequencer-signature/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/block-builders/customizing-a-builder/getting-a-sequencer-signature/</guid><description>&lt;h1 id="getting-a-sequencer-signature"&gt;Getting a Sequencer Signature&lt;/h1&gt;&lt;p&gt;Blocks must be cosigned by the Sequencer. The Sequencer blindly signs any number of candidate blocks for the current Builder via a simple API.&lt;/p&gt;
&lt;p&gt;The Sequencer API accepts a &lt;a href="https://docs.rs/zenith-types/latest/zenith_types/struct.SignRequest.html" rel="noopener noreferrer" target="_blank"&gt;&lt;code&gt;SignRequest&lt;/code&gt;&lt;/a&gt; via a &lt;code&gt;POST&lt;/code&gt; call to the &lt;code&gt;/signBlock&lt;/code&gt; endpoint, and returns a &lt;a href="https://docs.rs/zenith-types/latest/zenith_types/struct.SignResponse.html" rel="noopener noreferrer" target="_blank"&gt;&lt;code&gt;SignResponse&lt;/code&gt;&lt;/a&gt;. For details on calculating the &lt;code&gt;contents&lt;/code&gt; hash, see the &lt;a href="https://github.com/init4tech/builder/blob/main/src/quincey.rs" rel="noopener noreferrer" target="_blank"&gt;rust builder example&lt;/a&gt;.&lt;/p&gt;
&lt;aside class="callout callout--danger"&gt;
 The sequencer is allowed to modify the returned copy of the &lt;code&gt;SignRequest&lt;/code&gt;. This is to allow the sequencer to set a specific &lt;code&gt;gas_limit&lt;/code&gt;. It currently does not modify the request before returning it, but may do so in the future.
&lt;/aside&gt;
&lt;h2 id="slot-timing"&gt;Slot Timing&lt;a href="#slot-timing" class="heading-anchor" data-heading-anchor aria-label="Link to Slot Timing"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Quincey follows a round-robin sequencing approach, allowing builders to request block signatures according to their spot in the rotation.&lt;/p&gt;</description></item><item><title>Parmigiana quickstart</title><link>https://test.signet.sh/docs/build-on-signet/parmigiana/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/build-on-signet/parmigiana/</guid><description>&lt;h1 id="parmigiana-quickstart"&gt;Parmigiana quickstart&lt;/h1&gt;&lt;div class="network-info"&gt;
 &lt;div class="network-info-header"&gt;
 &lt;div class="network-status" role="img" aria-label="Network online"&gt;&lt;/div&gt;
 &lt;div class="network-name"&gt;Parmigiana Testnet&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="network-details"&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;Host Chain ID&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;3151908&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;Rollup Chain ID&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;88888&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;Deploy Height&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;0&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;Native Gas Token&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;USD&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;Rollup RPC&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;&lt;a href="https://rpc.parmigiana.signet.sh"&gt;rpc.parmigiana.signet.sh&lt;/a&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;Host RPC&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;&lt;a href="https://host-rpc.parmigiana.signet.sh"&gt;host-rpc.parmigiana.signet.sh&lt;/a&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;Rollup Explorer&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;&lt;a href="https://explorer.parmigiana.signet.sh"&gt;explorer.parmigiana.signet.sh&lt;/a&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;Host Explorer&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;&lt;a href="https://explorer-host.parmigiana.signet.sh"&gt;explorer-host.parmigiana.signet.sh&lt;/a&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;TX Cache API&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;&lt;a href="https://transactions.parmigiana.signet.sh"&gt;transactions.parmigiana.signet.sh&lt;/a&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Parmigiana is Signet&amp;rsquo;s public testnet for rollup and application experimentation. This page contains the faucet, RPC endpoints, and contract addresses you need to get started.&lt;/p&gt;
&lt;p&gt;These constants are also available to Rust code via the &lt;a href="https://docs.rs/signet-constants/latest/signet_constants/" rel="noopener noreferrer" target="_blank"&gt;&lt;code&gt;signet-constants&lt;/code&gt;&lt;/a&gt; crate. If you need to test applications that interact with both host and rollup chains, &lt;a href="mailto:hello@init4.technology"&gt;please reach out&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Chain configuration</title><link>https://test.signet.sh/docs/block-builders/run-a-builder/install-and-run-a-node/chain-configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/block-builders/run-a-builder/install-and-run-a-node/chain-configuration/</guid><description>&lt;h1 id="chain-configuration"&gt;Chain Configuration&lt;/h1&gt;&lt;p&gt;See &lt;a href="https://github.com/init4tech/signet-sdk/blob/main/crates/constants/src/chains/parmigiana.rs" rel="noopener noreferrer" target="_blank"&gt;&lt;code&gt;signet-constants&lt;/code&gt;&lt;/a&gt; for loading and interacting with genesis files and values.&lt;/p&gt;
&lt;div class="network-info"&gt;
 &lt;div class="network-info-header"&gt;
 &lt;div class="network-status" role="img" aria-label="Network online"&gt;&lt;/div&gt;
 &lt;div class="network-name"&gt;Parmigiana Testnet&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="network-details"&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;Host Chain ID&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;3151908&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;Rollup Chain ID&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;88888&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;Deploy Height&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;0&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;Native Gas Token&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;USD&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;Rollup RPC&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;&lt;a href="https://rpc.parmigiana.signet.sh"&gt;rpc.parmigiana.signet.sh&lt;/a&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;Host RPC&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;&lt;a href="https://host-rpc.parmigiana.signet.sh"&gt;host-rpc.parmigiana.signet.sh&lt;/a&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;Rollup Explorer&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;&lt;a href="https://explorer.parmigiana.signet.sh"&gt;explorer.parmigiana.signet.sh&lt;/a&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;Host Explorer&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;&lt;a href="https://explorer-host.parmigiana.signet.sh"&gt;explorer-host.parmigiana.signet.sh&lt;/a&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="network-detail"&gt;
 &lt;span class="network-detail-label"&gt;TX Cache API&lt;/span&gt;
 &lt;span class="network-detail-value"&gt;&lt;a href="https://transactions.parmigiana.signet.sh"&gt;transactions.parmigiana.signet.sh&lt;/a&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;See &lt;a href="https://test.signet.sh/docs/build-on-signet/parmigiana/"&gt;Parmigiana Quickstart&lt;/a&gt; for complete contract addresses.&lt;/p&gt;</description></item><item><title>Getting started</title><link>https://test.signet.sh/docs/build-on-signet/getting-started/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/build-on-signet/getting-started/</guid><description>&lt;p&gt;New to Signet? Start with &lt;a href="https://test.signet.sh/docs/learn-about-signet/"&gt;Learn about Signet&lt;/a&gt; for background on how the system works.&lt;/p&gt;
&lt;p&gt;Select your language to see the relevant setup instructions. Get testnet tokens from the &lt;a href="https://test.signet.sh/docs/build-on-signet/parmigiana/"&gt;Parmigiana quickstart&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Submitting a block to Ethereum</title><link>https://test.signet.sh/docs/block-builders/customizing-a-builder/submitting-a-block-to-ethereum/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/block-builders/customizing-a-builder/submitting-a-block-to-ethereum/</guid><description>&lt;h1 id="submitting-a-block-to-ethereum"&gt;Submitting a Block to Ethereum&lt;/h1&gt;&lt;p&gt;Rollup blocks are submitted to the host chain by calling the Zenith &lt;a href="https://github.com/init4tech/zenith/blob/37f386a8465d97f40e3233971c7a7868bbd4e4d9/src/Zenith.sol#L105" rel="noopener noreferrer" target="_blank"&gt;&lt;code&gt;submitBlock&lt;/code&gt;&lt;/a&gt; function, attaching transaction data in a 4844 blob.&lt;/p&gt;
&lt;h2 id="code-flows"&gt;Code Flows&lt;a href="#code-flows" class="heading-anchor" data-heading-anchor aria-label="Link to Code Flows"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;These examples assume one has already &lt;a href="https://test.signet.sh/docs/block-builders/customizing-a-builder/getting-transactions-and-bundles-for-a-block/"&gt;chosen a set of transactions and bundles&lt;/a&gt;, and &lt;a href="https://test.signet.sh/docs/block-builders/customizing-a-builder/getting-a-sequencer-signature/"&gt;gotten a co-signature from the Sequencer API&lt;/a&gt;.&lt;/p&gt;
&lt;aside class="callout callout--info"&gt;
 &lt;p&gt;The &lt;a href="https://github.com/init4tech/builder/tree/main/src/tasks/submit" rel="noopener noreferrer" target="_blank"&gt;builder example&lt;/a&gt; has a submission process without host fills that can be referenced for blob construction.&lt;/p&gt;</description></item><item><title>Building with Orders</title><link>https://test.signet.sh/updates/building-with-orders/</link><pubDate>Wed, 20 Aug 2025 12:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/building-with-orders/</guid><description>A practical guide to placing and filling cross-chain orders on Signet.</description></item><item><title>The Filler Economy</title><link>https://test.signet.sh/updates/the-filler-economy/</link><pubDate>Wed, 04 Jun 2025 12:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/the-filler-economy/</guid><description>How Signet turns MEV extractors into service providers.</description></item><item><title>How Signet Works</title><link>https://test.signet.sh/updates/how-signet-works/</link><pubDate>Wed, 30 Apr 2025 12:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/how-signet-works/</guid><description>The three pieces that make cross-chain execution feel like one chain.</description></item><item><title>Enter Signet</title><link>https://test.signet.sh/docs/build-on-signet/transfers/enter-signet/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/build-on-signet/transfers/enter-signet/</guid><description>&lt;p&gt;&lt;a href="https://github.com/init4tech/zenith/blob/main/src/passage/Passage.sol" rel="noopener noreferrer" target="_blank"&gt;Passage&lt;/a&gt; is the bridge contract on Ethereum that moves assets into Signet. Deposits arrive on the rollup in the same block they&amp;rsquo;re submitted.&lt;/p&gt;
&lt;p&gt;Passage has two entry points: one for ETH (sent as &lt;code&gt;msg.value&lt;/code&gt;) and one for ERC-20 tokens (requires a prior token approval). Both take a &lt;code&gt;rollupRecipient&lt;/code&gt; address that receives the tokens on Signet.&lt;/p&gt;
&lt;aside class="callout callout--info"&gt;
 &lt;div class="callout-title"&gt;Supported assets&lt;/div&gt;
 Signet currently supports bridging &lt;strong&gt;ETH&lt;/strong&gt;, &lt;strong&gt;USDC&lt;/strong&gt;, &lt;strong&gt;USDT&lt;/strong&gt;, and &lt;strong&gt;WBTC&lt;/strong&gt; from Ethereum. Contact the Signet team to add support for additional assets.
&lt;/aside&gt;
&lt;p&gt;The Signet node watches for &lt;code&gt;Enter&lt;/code&gt; and &lt;code&gt;EnterToken&lt;/code&gt; events on the Passage contract. If the event fired, the deposit was processed &amp;ndash; no additional confirmation is needed on the rollup side.&lt;/p&gt;</description></item><item><title>Execute from Ethereum</title><link>https://test.signet.sh/docs/build-on-signet/advanced/execute-from-ethereum/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/build-on-signet/advanced/execute-from-ethereum/</guid><description>&lt;p&gt;The Transactor contract provides guaranteed, censorship-resistant execution on Signet from Ethereum. Any Ethereum account can call Transactor to trigger a transaction on Signet that builders cannot censor or reorder.&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;a href="#overview" class="heading-anchor" data-heading-anchor aria-label="Link to Overview"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Transactor.sol&lt;/code&gt; exposes two function signatures for sending transactions to Signet:&lt;/p&gt;
&lt;h3 id="default-chain"&gt;Default Chain&lt;a href="#default-chain" class="heading-anchor" data-heading-anchor aria-label="Link to Default Chain"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;div class="code-block" data-code-block&gt;
 &lt;div class="code-header"&gt;
 &lt;span class="code-lang"&gt;solidity&lt;/span&gt;
 &lt;button class="code-copy" data-copy-button aria-label="Copy code" type="button"&gt;Copy&lt;/button&gt;
 &lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-solidity" data-lang="solidity"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;transact&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kt"&gt;address&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kt"&gt;bytes&lt;/span&gt; &lt;span class="n"&gt;calldata&lt;/span&gt; &lt;span class="nb"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kt"&gt;uint256&lt;/span&gt; &lt;span class="nb"&gt;value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kt"&gt;uint256&lt;/span&gt; &lt;span class="nb"&gt;gas&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kt"&gt;uint256&lt;/span&gt; &lt;span class="n"&gt;maxFeePerGas&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;external&lt;/span&gt; &lt;span class="k"&gt;payable&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;This version uses the contract&amp;rsquo;s &lt;code&gt;defaultRollupChainId&lt;/code&gt; configured at deployment.&lt;/p&gt;</description></item><item><title>FAQ</title><link>https://test.signet.sh/docs/more-info/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/more-info/faq/</guid><description>&lt;h1 id="faq"&gt;FAQ&lt;/h1&gt;&lt;details class="details" id="what-is-signet"&gt;
 &lt;summary class="details-summary"&gt;
 &lt;svg class="details-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"&gt;
 &lt;path d="M9 18l6-6-6-6"/&gt;
 &lt;/svg&gt;
 What is Signet?
 &lt;/summary&gt;
 &lt;div class="details-content"&gt;Signet is a pragmatic Ethereum rollup designed to offer sustainable economic incentives. It aims to modernize and streamline rollups by simplifying their architecture and focusing on efficiency.
 &lt;/div&gt;
&lt;/details&gt;
&lt;details class="details" id="how-does-signet-differ-from-traditional-rollups"&gt;
 &lt;summary class="details-summary"&gt;
 &lt;svg class="details-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"&gt;
 &lt;path d="M9 18l6-6-6-6"/&gt;
 &lt;/svg&gt;
 How does Signet differ from traditional rollups?
 &lt;/summary&gt;
 &lt;div class="details-content"&gt;&lt;p&gt;Signet differs in several key ways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It doesn&amp;rsquo;t use proving systems or state roots, which reduces computational overhead.&lt;/li&gt;
&lt;li&gt;It uses market-based cross-chain transfers instead of complex bridging mechanisms.&lt;/li&gt;
&lt;li&gt;It replaces block auctions and centralized rollup sequencing with a controlled block inclusion mechanism.&lt;/li&gt;
&lt;li&gt;It introduces conditional transactions for secure, atomic cross-chain operations.&lt;/li&gt;
&lt;/ul&gt;
 &lt;/div&gt;
&lt;/details&gt;
&lt;details class="details" id="how-does-signet-handle-cross-chain-transfers"&gt;
 &lt;summary class="details-summary"&gt;
 &lt;svg class="details-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"&gt;
 &lt;path d="M9 18l6-6-6-6"/&gt;
 &lt;/svg&gt;
 How does Signet handle cross-chain transfers?
 &lt;/summary&gt;
 &lt;div class="details-content"&gt;&lt;p&gt;Signet uses market-based mechanisms and conditional transactions for cross-chain transfers. This allows for secure, instant transfers between Ethereum and Signet without the need for lockup periods.&lt;/p&gt;</description></item><item><title>Simplifying the rollup</title><link>https://test.signet.sh/docs/learn-about-signet/simplifying-the-rollup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/learn-about-signet/simplifying-the-rollup/</guid><description>&lt;h1 id="simplifying-the-rollup"&gt;Simplifying the rollup&lt;/h1&gt;&lt;p&gt;Signet is a pragmatic Ethereum rollup with sustainable economic incentives. It offers a new set of ideas, aiming to radically modernize and streamline rollups.&lt;/p&gt;

&lt;div class="branded-list"&gt;
 &lt;ul&gt;
&lt;li&gt;No proving systems or state roots, drastically reducing computational overhead&lt;/li&gt;
&lt;li&gt;Market-based cross-chain transfers for instant asset movement&lt;/li&gt;
&lt;li&gt;Removes block auctions in favor of a controlled block inclusion mechanism&lt;/li&gt;
&lt;li&gt;Introduces conditional transactions for secure, atomic cross-chain operations&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;


&lt;p&gt;Signet is built by &lt;a href="https://x.com/init4tech" rel="noopener noreferrer" target="_blank"&gt;Init4&lt;/a&gt;, a research collective building next-generation Ethereum.&lt;/p&gt;</description></item><item><title>Bundles</title><link>https://test.signet.sh/docs/build-on-signet/advanced/bundles/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/build-on-signet/advanced/bundles/</guid><description>&lt;p&gt;Bundles are ordered sets of transactions that execute atomically. All succeed or all revert. They can span both Signet and Ethereum, enabling cross-chain operations like order fills where both sides must settle in the same block.&lt;/p&gt;</description></item><item><title>Exit Signet</title><link>https://test.signet.sh/docs/build-on-signet/transfers/exit-signet/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/build-on-signet/transfers/exit-signet/</guid><description>&lt;p&gt;Create and submit orders to move assets from Signet to Ethereum. For background on the order lifecycle and atomic settlement, see &lt;a href="https://test.signet.sh/docs/learn-about-signet/how-orders-work/"&gt;How orders work&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="order-data-model"&gt;Order data model&lt;a href="#order-data-model" class="heading-anchor" data-heading-anchor aria-label="Link to Order data model"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Every order has inputs (what the user gives up on Signet) and outputs (what they receive on the destination chain).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;token&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;ERC-20 address on Signet. Zero address for native USD.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;amount&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Amount in the token&amp;rsquo;s smallest unit (e.g., wei).&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Glossary</title><link>https://test.signet.sh/docs/more-info/glossary/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/more-info/glossary/</guid><description>&lt;h1 id="glossary"&gt;Glossary&lt;/h1&gt;&lt;details class="details" id="blind-signing"&gt;
 &lt;summary class="details-summary"&gt;
 &lt;svg class="details-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"&gt;
 &lt;path d="M9 18l6-6-6-6"/&gt;
 &lt;/svg&gt;
 Blind Signing
 &lt;/summary&gt;
 &lt;div class="details-content"&gt;&lt;p&gt;A security feature where the sequencer signs a block without seeing its contents. The sequencer only sees the block&amp;rsquo;s hash and the builder&amp;rsquo;s identity. This prevents selective censorship or manipulation based on block contents.&lt;/p&gt;
&lt;p&gt;In Signet, the sequencer blind signs every block, ensuring fair and unbiased inclusion.&lt;/p&gt;

 &lt;/div&gt;
&lt;/details&gt;
&lt;details class="details" id="block-builders"&gt;
 &lt;summary class="details-summary"&gt;
 &lt;svg class="details-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"&gt;
 &lt;path d="M9 18l6-6-6-6"/&gt;
 &lt;/svg&gt;
 Block Builders
 &lt;/summary&gt;
 &lt;div class="details-content"&gt;&lt;p&gt;Participants who assemble and propose new blocks. They collect pending transactions, organize them to maximize fees, and submit the block for inclusion.&lt;/p&gt;</description></item><item><title>No proofs or state roots</title><link>https://test.signet.sh/docs/learn-about-signet/no-proofs-or-state-roots/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/learn-about-signet/no-proofs-or-state-roots/</guid><description>&lt;h1 id="no-proofs-or-state-roots"&gt;No proofs or state roots&lt;/h1&gt;&lt;aside class="callout callout--info"&gt;
 &lt;div class="callout-title"&gt;Why this matters&lt;/div&gt;
 &lt;ul&gt;
&lt;li&gt;No proving systems or state roots drastically reduces computational overhead&lt;/li&gt;
&lt;li&gt;Conditional transactions provide secure, atomic cross-chain operations&lt;/li&gt;
&lt;li&gt;Cross-chain transfers are market-based&lt;/li&gt;
&lt;/ul&gt;

&lt;/aside&gt;
&lt;p&gt;Rollups extend Ethereum by allowing nodes to track additional data. Traditional rollups face significant complexity when communicating this data back to Ethereum, typically relying on proving systems. Signet takes a different approach.&lt;/p&gt;
&lt;h2 id="no-proving-system"&gt;No proving system&lt;a href="#no-proving-system" class="heading-anchor" data-heading-anchor aria-label="Link to No proving system"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Most rollups use complex proving systems like optimistic or zero-knowledge proofs to communicate with Ethereum. These systems introduce significant overhead and complexity and are not necessary for most users. Instead of a proving system, Signet facilitates cross-chain transfers through markets. Assets are bought and sold between Signet and Ethereum, rather than being &amp;ldquo;proven&amp;rdquo; back onto Ethereum.&lt;/p&gt;</description></item><item><title>Permissioned roles</title><link>https://test.signet.sh/docs/more-info/permissioned-roles/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/more-info/permissioned-roles/</guid><description>&lt;h1 id="permissioned-roles"&gt;Permissioned Roles&lt;/h1&gt;&lt;p&gt;Signet&amp;rsquo;s smart contracts use a system of permissioned roles to manage access control. Each contract has specific roles that can perform certain administrative functions.&lt;/p&gt;
&lt;h2 id="core-roles"&gt;Core Roles&lt;a href="#core-roles" class="heading-anchor" data-heading-anchor aria-label="Link to Core Roles"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;h3 id="sequencer-admin"&gt;Sequencer Admin&lt;a href="#sequencer-admin" class="heading-anchor" data-heading-anchor aria-label="Link to Sequencer Admin"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;The &lt;code&gt;sequencerAdmin&lt;/code&gt; role manages the list of authorized sequencers in the Zenith contract. This role can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add or remove sequencers&lt;/li&gt;
&lt;li&gt;Update sequencer configuration&lt;/li&gt;
&lt;li&gt;Pause sequencing if needed&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="sequencer"&gt;Sequencer&lt;a href="#sequencer" class="heading-anchor" data-heading-anchor aria-label="Link to Sequencer"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;The &lt;code&gt;sequencer&lt;/code&gt; role is responsible for validating and co-signing blocks before they are submitted to the Zenith contract. Sequencers:&lt;/p&gt;</description></item><item><title>Simple sequencing</title><link>https://test.signet.sh/docs/learn-about-signet/simple-sequencing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/learn-about-signet/simple-sequencing/</guid><description>&lt;h1 id="simple-sequencing"&gt;Simple sequencing&lt;/h1&gt;&lt;aside class="callout callout--info"&gt;
 &lt;div class="callout-title"&gt;Why this matters&lt;/div&gt;
 &lt;ul&gt;
&lt;li&gt;Ethereum block production is overwhelmingly centralized. Most blocks are built by just a few builders (see below)&lt;/li&gt;
&lt;li&gt;To address this centralization, Signet assigns block production rights in a round-robin style to block builders&lt;/li&gt;
&lt;li&gt;This round-robin model does away with proposer-builder auctions and therefore prevents the most wealthy block builders from dominating the market&lt;/li&gt;
&lt;/ul&gt;

&lt;/aside&gt;
&lt;h2 id="centralization-of-sequencing"&gt;Centralization of Sequencing&lt;a href="#centralization-of-sequencing" class="heading-anchor" data-heading-anchor aria-label="Link to Centralization of Sequencing"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Every blockchain needs a way to order transactions — that&amp;rsquo;s sequencing. Ethereum uses auctions to determine who gets to build blocks and sequence transactions. There are a few problems with this:&lt;/p&gt;</description></item><item><title>Simulating bundles</title><link>https://test.signet.sh/docs/build-on-signet/advanced/simulating-bundles/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/build-on-signet/advanced/simulating-bundles/</guid><description>&lt;p&gt;Once you&amp;rsquo;ve &lt;a href="https://test.signet.sh/docs/build-on-signet/advanced/bundles/"&gt;created a bundle&lt;/a&gt;, simulate it against a Signet RPC node before submitting. Simulation lets you verify execution, check profitability, and confirm that order fills are satisfied. The &lt;code&gt;signet_callBundle&lt;/code&gt; RPC method is Signet&amp;rsquo;s equivalent to Flashbots&amp;rsquo;s &lt;a href="https://docs.flashbots.net/flashbots-auction/advanced/rpc-endpoint#eth_callbundle" rel="noopener noreferrer" target="_blank"&gt;&lt;code&gt;eth_callBundle&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;aside class="callout callout--warning"&gt;
 &lt;div class="callout-title"&gt;RPC Privacy&lt;/div&gt;
 Simulating bundles leaks their content to the RPC operator. Use an RPC that you trust or control to ensure bundle privacy.
&lt;/aside&gt;</description></item><item><title>Swap within Signet</title><link>https://test.signet.sh/docs/build-on-signet/transfers/swap-within-signet/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/build-on-signet/transfers/swap-within-signet/</guid><description>&lt;p&gt;When you want a different token on Signet without crossing to Ethereum, create an order where both input and output are on the rollup chain. The order stays entirely within Signet and settles without touching Ethereum at all.&lt;/p&gt;
&lt;p&gt;For order structure, pricing, and filler economics, see the &lt;a href="https://test.signet.sh/docs/build-on-signet/transfers/exit-signet/"&gt;Exit Signet&lt;/a&gt; shared intro. The order model is identical &amp;ndash; only the output &lt;code&gt;chainId&lt;/code&gt; differs.&lt;/p&gt;</description></item><item><title>System transactions</title><link>https://test.signet.sh/docs/build-on-signet/system-transactions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/build-on-signet/system-transactions/</guid><description>&lt;h1 id="system-transactions"&gt;System transactions&lt;/h1&gt;&lt;p&gt;Transactions on Signet can originate from Ethereum. When the Signet node
observes specific events from the
&lt;a href="https://test.signet.sh/docs/build-on-signet/transfers/enter-signet/"&gt;Passage&lt;/a&gt; or
&lt;a href="https://test.signet.sh/docs/build-on-signet/advanced/execute-from-ethereum/"&gt;Transactor&lt;/a&gt;
contracts on the host chain, it creates corresponding transactions on the
rollup.&lt;/p&gt;
&lt;p&gt;Three host-chain event types produce system transactions:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Event&lt;/th&gt;
 &lt;th&gt;Trigger&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;ETH deposited to Passage&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;EnterToken&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;ERC-20 tokens deposited to Passage&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Transact&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Arbitrary execution requested via Transactor&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;System transactions execute &lt;strong&gt;last&lt;/strong&gt; in the block, after all user-submitted
transactions. Processing order within that group is:&lt;/p&gt;</description></item><item><title>Cross-chain transfers</title><link>https://test.signet.sh/docs/learn-about-signet/cross-chain-transfers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/learn-about-signet/cross-chain-transfers/</guid><description>&lt;h1 id="cross-chain-transfers"&gt;Cross-chain transfers&lt;/h1&gt;&lt;aside class="callout callout--info"&gt;
 &lt;div class="callout-title"&gt;Why this matters&lt;/div&gt;
 &lt;ul&gt;
&lt;li&gt;Moving assets into and out of Signet is simple and instant&lt;/li&gt;
&lt;li&gt;Conditional transactions require cross-chain transfers to be fully executed in the same block on both chains&lt;/li&gt;
&lt;/ul&gt;

&lt;/aside&gt;
&lt;h2 id="moving-from-ethereum-to-signet"&gt;Moving from Ethereum to Signet&lt;a href="#moving-from-ethereum-to-signet" class="heading-anchor" data-heading-anchor aria-label="Link to Moving from Ethereum to Signet"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Because Signet produces blocks at the same time as Ethereum, assets and data can move freely from Ethereum to Signet in the same block. If you send Ether to Signet, entering Signet has &lt;strong&gt;no time delay&lt;/strong&gt;. Signet does not require a multi-minute wait like centrally sequenced rollups.&lt;/p&gt;</description></item><item><title>Troubleshooting</title><link>https://test.signet.sh/docs/build-on-signet/advanced/troubleshooting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/build-on-signet/advanced/troubleshooting/</guid><description>&lt;p&gt;Common errors and debugging tips for Signet development. Select your language to see relevant code.&lt;/p&gt;</description></item><item><title>Key concepts</title><link>https://test.signet.sh/docs/learn-about-signet/key-concepts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/learn-about-signet/key-concepts/</guid><description>&lt;h1 id="key-concepts"&gt;Key concepts&lt;/h1&gt;&lt;p&gt;Signet is an EVM rollup that settles on Ethereum. Your application interacts with two chains simultaneously: Signet (the rollup) and Ethereum (the host chain). Deposits, swaps, and fills happen across both in the same block.&lt;/p&gt;
&lt;h2 id="the-building-blocks"&gt;The building blocks&lt;a href="#the-building-blocks" class="heading-anchor" data-heading-anchor aria-label="Link to The building blocks"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://test.signet.sh/docs/learn-about-signet/cross-chain-transfers/"&gt;Passage&lt;/a&gt;&lt;/strong&gt; moves assets from Ethereum into Signet. Deposits arrive in the same block.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://test.signet.sh/docs/learn-about-signet/how-orders-work/"&gt;Orders&lt;/a&gt;&lt;/strong&gt; move assets from Signet back to Ethereum (or any chain). A filler delivers the output, and atomic settlement ensures both sides execute or neither does.&lt;/p&gt;</description></item><item><title>Application controlled execution</title><link>https://test.signet.sh/docs/learn-about-signet/application-controlled-execution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/learn-about-signet/application-controlled-execution/</guid><description>&lt;h1 id="application-controlled-execution"&gt;Application controlled execution&lt;/h1&gt;&lt;aside class="callout callout--info"&gt;
 &lt;div class="callout-title"&gt;Why this matters&lt;/div&gt;
 &lt;ul&gt;
&lt;li&gt;Applications can read Ethereum state and react on Signet in the same block&lt;/li&gt;
&lt;li&gt;Cross-chain operations execute atomically or not at all&lt;/li&gt;
&lt;li&gt;No oracles, relayers, or trust assumptions beyond Ethereum itself&lt;/li&gt;
&lt;/ul&gt;

&lt;/aside&gt;
&lt;h2 id="same-block-synchronization"&gt;Same-Block Synchronization&lt;a href="#same-block-synchronization" class="heading-anchor" data-heading-anchor aria-label="Link to Same-Block Synchronization"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Signet produces blocks in lockstep with Ethereum. Every Signet block corresponds to exactly one Ethereum block, with identical timestamps. This 1:1 coupling enables Signet to observe Ethereum state as it happens—not minutes later through an oracle, but in the same 12-second window.&lt;/p&gt;</description></item><item><title>Brand kit</title><link>https://test.signet.sh/docs/more-info/brand-kit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/more-info/brand-kit/</guid><description>&lt;h1 id="brand-kit"&gt;Brand Kit&lt;/h1&gt;&lt;h2 id="logo"&gt;Logo&lt;a href="#logo" class="heading-anchor" data-heading-anchor aria-label="Link to Logo"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Use the mark alongside the wordmark &amp;ldquo;Signet&amp;rdquo; set in New York.&lt;/p&gt;
&lt;div class="brand-logo-display"&gt;
 &lt;div class="brand-logo-container"&gt;
 &lt;div class="brand-logo-light"&gt;
 &lt;svg class="brand-mark" viewBox="0 0 1105 1109" aria-hidden="true"&gt;
 &lt;path fill="currentColor" d="M1085.29 554.15H558.906c-4.552.001-8.93 1.827-12.171 5.078L6.599 1101.35c-4.742 4.76-6.85 3.78-6.323-2.94.949-12.37 1.449-26.36 1.502-41.97.843-179.514.262-347.368-1.74-503.559-1.106-83.306 21.419-175.18 60.068-250.075C121.176 184.433 212.99 98.536 335.549 45.114 470.227-13.596 627.115-14.469 763.295 43.21c207.076 87.669 338.675 284.111 340.335 510.147.42 58.711.55 241.93.39 549.653 0 3.92-1.95 5.88-5.85 5.88H558.432c-.613-.01-1.211-.19-1.718-.535a2.474 2.474 0 0 1-.843-1.4 2.522 2.522 0 0 1 .686-1.8l534.362-536.408c8.65-8.674 6.85-13.012-5.37-13.012z"/&gt;
 &lt;/svg&gt;
 &lt;span class="brand-wordmark"&gt;Signet&lt;/span&gt;
 &lt;a href="https://test.signet.sh/brand/signet-logo-dark.svg" download="signet-logo-dark.svg" class="btn btn-sm btn-secondary brand-download"&gt;
 &lt;svg viewBox="0 0 16 16" aria-hidden="true"&gt;&lt;path fill="currentColor" d="M8 12L3 7h3V2h4v5h3L8 12zm-5 2h10v1H3v-1z"/&gt;&lt;/svg&gt;
 Download SVG
 &lt;/a&gt;
 &lt;/div&gt;
 &lt;div class="brand-logo-dark"&gt;
 &lt;svg class="brand-mark" viewBox="0 0 1105 1109" aria-hidden="true"&gt;
 &lt;path fill="currentColor" d="M1085.29 554.15H558.906c-4.552.001-8.93 1.827-12.171 5.078L6.599 1101.35c-4.742 4.76-6.85 3.78-6.323-2.94.949-12.37 1.449-26.36 1.502-41.97.843-179.514.262-347.368-1.74-503.559-1.106-83.306 21.419-175.18 60.068-250.075C121.176 184.433 212.99 98.536 335.549 45.114 470.227-13.596 627.115-14.469 763.295 43.21c207.076 87.669 338.675 284.111 340.335 510.147.42 58.711.55 241.93.39 549.653 0 3.92-1.95 5.88-5.85 5.88H558.432c-.613-.01-1.211-.19-1.718-.535a2.474 2.474 0 0 1-.843-1.4 2.522 2.522 0 0 1 .686-1.8l534.362-536.408c8.65-8.674 6.85-13.012-5.37-13.012z"/&gt;
 &lt;/svg&gt;
 &lt;span class="brand-wordmark"&gt;Signet&lt;/span&gt;
 &lt;a href="https://test.signet.sh/brand/signet-logo-light.svg" download="signet-logo-light.svg" class="btn btn-sm btn-secondary brand-download"&gt;
 &lt;svg viewBox="0 0 16 16" aria-hidden="true"&gt;&lt;path fill="currentColor" d="M8 12L3 7h3V2h4v5h3L8 12zm-5 2h10v1H3v-1z"/&gt;&lt;/svg&gt;
 Download SVG
 &lt;/a&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;h3 id="usage-guidelines"&gt;Usage Guidelines&lt;a href="#usage-guidelines" class="heading-anchor" data-heading-anchor aria-label="Link to Usage Guidelines"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Maintain clear space equal to the mark&amp;rsquo;s height on all sides&lt;/li&gt;
&lt;li&gt;Never distort, rotate, or add effects to the mark&lt;/li&gt;
&lt;li&gt;On light backgrounds, use ink (#2D2926)&lt;/li&gt;
&lt;li&gt;On dark backgrounds, use cream (#FAF7F2)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="color-palette"&gt;Color Palette&lt;a href="#color-palette" class="heading-anchor" data-heading-anchor aria-label="Link to Color Palette"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;h3 id="the-six-inks"&gt;The Six Inks&lt;a href="#the-six-inks" class="heading-anchor" data-heading-anchor aria-label="Link to The Six Inks"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;div class="brand-inks" role="list" aria-label="The Six Inks color palette"&gt;
 &lt;div class="brand-ink" role="listitem" aria-label="Kin: Gold (#D4A929), used for accents and keywords"&gt;
 &lt;div class="brand-ink-swatch" style="background: var(--kin);" aria-hidden="true"&gt;
 &lt;div class="brand-ink-syntax" style="background: var(--kin-syntax);"&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="brand-ink-info"&gt;
 &lt;span class="brand-ink-kanji" aria-hidden="true"&gt;金&lt;/span&gt;
 &lt;span class="brand-ink-name"&gt;Kin&lt;/span&gt;
 &lt;span class="brand-ink-meaning"&gt;Gold&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="brand-ink-meta"&gt;
 &lt;span class="brand-ink-role"&gt;Accent, Keywords&lt;/span&gt;
 &lt;code class="brand-ink-hex"&gt;#D4A929&lt;/code&gt;
 &lt;/div&gt;
 &lt;/div&gt;

 &lt;div class="brand-ink" role="listitem" aria-label="Matsu: Pine (#5B8A5B), used for success and strings"&gt;
 &lt;div class="brand-ink-swatch" style="background: var(--matsu);" aria-hidden="true"&gt;
 &lt;div class="brand-ink-syntax" style="background: var(--matsu-syntax);"&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="brand-ink-info"&gt;
 &lt;span class="brand-ink-kanji" aria-hidden="true"&gt;松&lt;/span&gt;
 &lt;span class="brand-ink-name"&gt;Matsu&lt;/span&gt;
 &lt;span class="brand-ink-meaning"&gt;Pine&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="brand-ink-meta"&gt;
 &lt;span class="brand-ink-role"&gt;Success, Strings&lt;/span&gt;
 &lt;code class="brand-ink-hex"&gt;#5B8A5B&lt;/code&gt;
 &lt;/div&gt;
 &lt;/div&gt;

 &lt;div class="brand-ink" role="listitem" aria-label="Shu: Vermillion (#B85450), used for danger and errors"&gt;
 &lt;div class="brand-ink-swatch" style="background: var(--shu);" aria-hidden="true"&gt;
 &lt;div class="brand-ink-syntax" style="background: var(--shu-syntax);"&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="brand-ink-info"&gt;
 &lt;span class="brand-ink-kanji" aria-hidden="true"&gt;朱&lt;/span&gt;
 &lt;span class="brand-ink-name"&gt;Shu&lt;/span&gt;
 &lt;span class="brand-ink-meaning"&gt;Vermillion&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="brand-ink-meta"&gt;
 &lt;span class="brand-ink-role"&gt;Danger, Errors&lt;/span&gt;
 &lt;code class="brand-ink-hex"&gt;#B85450&lt;/code&gt;
 &lt;/div&gt;
 &lt;/div&gt;

 &lt;div class="brand-ink" role="listitem" aria-label="Tsuki: Moon (#4A8090), used for info and functions"&gt;
 &lt;div class="brand-ink-swatch" style="background: var(--tsuki);" aria-hidden="true"&gt;
 &lt;div class="brand-ink-syntax" style="background: var(--tsuki-syntax);"&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="brand-ink-info"&gt;
 &lt;span class="brand-ink-kanji" aria-hidden="true"&gt;月&lt;/span&gt;
 &lt;span class="brand-ink-name"&gt;Tsuki&lt;/span&gt;
 &lt;span class="brand-ink-meaning"&gt;Moon&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="brand-ink-meta"&gt;
 &lt;span class="brand-ink-role"&gt;Info, Functions&lt;/span&gt;
 &lt;code class="brand-ink-hex"&gt;#4A8090&lt;/code&gt;
 &lt;/div&gt;
 &lt;/div&gt;

 &lt;div class="brand-ink" role="listitem" aria-label="Fuji: Wisteria (#7868A0), used for secondary and types"&gt;
 &lt;div class="brand-ink-swatch" style="background: var(--fuji);" aria-hidden="true"&gt;
 &lt;div class="brand-ink-syntax" style="background: var(--fuji-syntax);"&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="brand-ink-info"&gt;
 &lt;span class="brand-ink-kanji" aria-hidden="true"&gt;藤&lt;/span&gt;
 &lt;span class="brand-ink-name"&gt;Fuji&lt;/span&gt;
 &lt;span class="brand-ink-meaning"&gt;Wisteria&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="brand-ink-meta"&gt;
 &lt;span class="brand-ink-role"&gt;Secondary, Types&lt;/span&gt;
 &lt;code class="brand-ink-hex"&gt;#7868A0&lt;/code&gt;
 &lt;/div&gt;
 &lt;/div&gt;

 &lt;div class="brand-ink" role="listitem" aria-label="Sakura: Cherry Blossom (#C0707A), used for special and escapes"&gt;
 &lt;div class="brand-ink-swatch" style="background: var(--sakura);" aria-hidden="true"&gt;
 &lt;div class="brand-ink-syntax" style="background: var(--sakura-syntax);"&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="brand-ink-info"&gt;
 &lt;span class="brand-ink-kanji" aria-hidden="true"&gt;桜&lt;/span&gt;
 &lt;span class="brand-ink-name"&gt;Sakura&lt;/span&gt;
 &lt;span class="brand-ink-meaning"&gt;Blossoms&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="brand-ink-meta"&gt;
 &lt;span class="brand-ink-role"&gt;Special, Escapes&lt;/span&gt;
 &lt;code class="brand-ink-hex"&gt;#C0707A&lt;/code&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;h3 id="paper-tones"&gt;Paper Tones&lt;a href="#paper-tones" class="heading-anchor" data-heading-anchor aria-label="Link to Paper Tones"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;div class="brand-paper" role="list" aria-label="Paper tones color palette"&gt;
 &lt;div class="brand-paper-swatch" style="background: var(--cream); color: var(--ink);" role="listitem" aria-label="Cream: #FAF7F2"&gt;
 &lt;span class="brand-paper-name"&gt;Cream&lt;/span&gt;
 &lt;code class="brand-paper-hex"&gt;#FAF7F2&lt;/code&gt;
 &lt;/div&gt;
 &lt;div class="brand-paper-swatch" style="background: var(--warm); color: var(--ink);" role="listitem" aria-label="Warm: #F5F1EA"&gt;
 &lt;span class="brand-paper-name"&gt;Warm&lt;/span&gt;
 &lt;code class="brand-paper-hex"&gt;#F5F1EA&lt;/code&gt;
 &lt;/div&gt;
 &lt;div class="brand-paper-swatch" style="background: var(--rule); color: var(--ink);" role="listitem" aria-label="Rule: #E3DED5"&gt;
 &lt;span class="brand-paper-name"&gt;Rule&lt;/span&gt;
 &lt;code class="brand-paper-hex"&gt;#E3DED5&lt;/code&gt;
 &lt;/div&gt;
 &lt;div class="brand-paper-swatch" style="background: var(--mist); color: white;" role="listitem" aria-label="Mist: #ADA69C"&gt;
 &lt;span class="brand-paper-name"&gt;Mist&lt;/span&gt;
 &lt;code class="brand-paper-hex"&gt;#ADA69C&lt;/code&gt;
 &lt;/div&gt;
 &lt;div class="brand-paper-swatch" style="background: var(--stone); color: white;" role="listitem" aria-label="Stone: #7C756C"&gt;
 &lt;span class="brand-paper-name"&gt;Stone&lt;/span&gt;
 &lt;code class="brand-paper-hex"&gt;#7C756C&lt;/code&gt;
 &lt;/div&gt;
 &lt;div class="brand-paper-swatch" style="background: var(--graphite); color: white;" role="listitem" aria-label="Graphite: #4A4541"&gt;
 &lt;span class="brand-paper-name"&gt;Graphite&lt;/span&gt;
 &lt;code class="brand-paper-hex"&gt;#4A4541&lt;/code&gt;
 &lt;/div&gt;
 &lt;div class="brand-paper-swatch" style="background: var(--ink); color: white;" role="listitem" aria-label="Ink: #2D2926"&gt;
 &lt;span class="brand-paper-name"&gt;Ink&lt;/span&gt;
 &lt;code class="brand-paper-hex"&gt;#2D2926&lt;/code&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id="typography"&gt;Typography&lt;a href="#typography" class="heading-anchor" data-heading-anchor aria-label="Link to Typography"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;div class="brand-type" role="list" aria-label="Typography specimens"&gt;
 &lt;div class="brand-type-specimen brand-type-display" role="listitem" aria-label="Display font: New York, for headlines and page titles"&gt;
 &lt;span class="mono-label brand-type-label"&gt;Display&lt;/span&gt;
 &lt;span class="brand-type-sample"&gt;New York&lt;/span&gt;
 &lt;span class="brand-type-desc"&gt;Headlines, page titles, feature text&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="brand-type-specimen brand-type-body" role="listitem" aria-label="Body font: Iowan Old Style, for long-form content"&gt;
 &lt;span class="mono-label brand-type-label"&gt;Body&lt;/span&gt;
 &lt;span class="brand-type-sample"&gt;Iowan Old Style&lt;/span&gt;
 &lt;span class="brand-type-desc"&gt;Long-form content, paragraphs, prose&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="brand-type-specimen brand-type-mono" role="listitem" aria-label="Mono font: SF Mono, for code and labels"&gt;
 &lt;span class="mono-label brand-type-label"&gt;Mono&lt;/span&gt;
 &lt;span class="brand-type-sample"&gt;SF Mono&lt;/span&gt;
 &lt;span class="brand-type-desc"&gt;Code, labels, technical content&lt;/span&gt;
 &lt;/div&gt;
&lt;/div&gt;

&lt;h3 id="scale"&gt;Scale&lt;a href="#scale" class="heading-anchor" data-heading-anchor aria-label="Link to Scale"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Token&lt;/th&gt;
 &lt;th&gt;Size&lt;/th&gt;
 &lt;th&gt;Usage&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;micro&lt;/td&gt;
 &lt;td&gt;10px&lt;/td&gt;
 &lt;td&gt;Labels, eyebrows, badges&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;caption&lt;/td&gt;
 &lt;td&gt;12px&lt;/td&gt;
 &lt;td&gt;Captions, metadata&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;small&lt;/td&gt;
 &lt;td&gt;13px&lt;/td&gt;
 &lt;td&gt;Secondary text, buttons&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;body&lt;/td&gt;
 &lt;td&gt;15px&lt;/td&gt;
 &lt;td&gt;Body copy&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;h4&lt;/td&gt;
 &lt;td&gt;16px&lt;/td&gt;
 &lt;td&gt;Minor headings&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;h3&lt;/td&gt;
 &lt;td&gt;18px&lt;/td&gt;
 &lt;td&gt;Subsections&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;h2&lt;/td&gt;
 &lt;td&gt;22px&lt;/td&gt;
 &lt;td&gt;Sections&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;h1&lt;/td&gt;
 &lt;td&gt;28px&lt;/td&gt;
 &lt;td&gt;Page titles&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="components"&gt;Components&lt;a href="#components" class="heading-anchor" data-heading-anchor aria-label="Link to Components"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;div class="brand-components"&gt;
 &lt;div class="brand-component-group"&gt;
 &lt;span class="mono-label brand-component-label"&gt;Buttons&lt;/span&gt;
 &lt;div class="brand-component-row"&gt;
 &lt;button class="btn btn-primary" type="button"&gt;Primary&lt;/button&gt;
 &lt;button class="btn btn-secondary" type="button"&gt;Secondary&lt;/button&gt;
 &lt;button class="btn btn-ghost" type="button"&gt;Ghost&lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;

 &lt;div class="brand-component-group"&gt;
 &lt;span class="mono-label brand-component-label"&gt;Badges&lt;/span&gt;
 &lt;div class="brand-component-row"&gt;
 &lt;span class="badge badge-yellow"&gt;Kin&lt;/span&gt;
 &lt;span class="badge badge-success"&gt;Matsu&lt;/span&gt;
 &lt;span class="badge badge-danger"&gt;Shu&lt;/span&gt;
 &lt;span class="badge badge-info"&gt;Tsuki&lt;/span&gt;
 &lt;span class="badge badge-secondary"&gt;Fuji&lt;/span&gt;
 &lt;span class="badge badge-special"&gt;Sakura&lt;/span&gt;
 &lt;span class="badge badge-default"&gt;Default&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;

 &lt;div class="brand-component-group"&gt;
 &lt;span class="mono-label brand-component-label"&gt;Callouts&lt;/span&gt;
 &lt;div class="brand-component-stack"&gt;
 &lt;div class="callout callout--info"&gt;
 &lt;div class="callout-title"&gt;Note&lt;/div&gt;
 &lt;div class="callout-content"&gt;&lt;p&gt;Informational callout for helpful context.&lt;/p&gt;</description></item><item><title>How orders work</title><link>https://test.signet.sh/docs/learn-about-signet/how-orders-work/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/learn-about-signet/how-orders-work/</guid><description>&lt;h1 id="how-orders-work"&gt;How orders work&lt;/h1&gt;&lt;p&gt;An Order is Signet&amp;rsquo;s primitive for moving assets between chains. The user specifies what they&amp;rsquo;re giving up on Signet and what they want to receive on another chain. A filler delivers the output, a builder settles both sides atomically, and either the entire trade executes or nothing happens.&lt;/p&gt;
&lt;p&gt;Orders power exits, swaps, and any cross-chain transfer that requires atomic settlement.&lt;/p&gt;
&lt;h2 id="the-lifecycle"&gt;The lifecycle&lt;a href="#the-lifecycle" class="heading-anchor" data-heading-anchor aria-label="Link to The lifecycle"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;The user creates an Order.&lt;/strong&gt; They give up tokens on Signet and specify what they want on Ethereum (or any supported chain).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Order is submitted to the &lt;a href="#the-transaction-cache"&gt;transaction cache&lt;/a&gt;.&lt;/strong&gt; On-chain orders are discovered via events; gasless orders are posted directly by your application.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fillers evaluate the Order.&lt;/strong&gt; They assess the spread between input and output and decide if the trade is profitable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A filler commits.&lt;/strong&gt; They construct a fill transaction for the destination chain and bundle it with the Signet-side settlement. A builder includes the bundle in a block proposal.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Atomic settlement.&lt;/strong&gt; Either both sides execute or neither does.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The builder enforces atomicity. If the filler doesn&amp;rsquo;t deliver on the destination chain, the user&amp;rsquo;s tokens are never taken on Signet. There is no window where funds are at risk.&lt;/p&gt;</description></item><item><title>EVM behavior</title><link>https://test.signet.sh/docs/learn-about-signet/evm-behavior/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/learn-about-signet/evm-behavior/</guid><description>&lt;h1 id="evm-behavior"&gt;EVM behavior&lt;/h1&gt;&lt;p&gt;Signet targets full EVM compatibility.&lt;/p&gt;
&lt;p&gt;This page describes the (very few)
differences between Signet and Ethereum Mainnet EVM behavior.&lt;/p&gt;
&lt;h2 id="usd-native-asset"&gt;USD Native Asset&lt;a href="#usd-native-asset" class="heading-anchor" data-heading-anchor aria-label="Link to USD Native Asset"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;The native asset on Signet is USD, not ETH. USD plays the same role that ETH does on Ethereum: it pays for gas, it&amp;rsquo;s what &lt;code&gt;msg.value&lt;/code&gt; transfers, and it&amp;rsquo;s what &lt;code&gt;address.balance&lt;/code&gt; returns. It has 18 decimals.&lt;/p&gt;
&lt;p&gt;USD is minted on Signet when USDC or USDT is deposited through &lt;a href="https://test.signet.sh/docs/build-on-signet/transfers/enter-signet/"&gt;Passage&lt;/a&gt;. The node observes the deposit event on Ethereum and credits the recipient&amp;rsquo;s balance with native USD, normalizing decimals from 6 to 18. ETH and other supported tokens (WBTC) are bridged as ERC-20 tokens, not native USD. See &lt;a href="https://test.signet.sh/docs/build-on-signet/system-transactions/"&gt;System transactions&lt;/a&gt; for details on how deposits are processed.&lt;/p&gt;</description></item><item><title>Rebased Optimism</title><link>https://test.signet.sh/updates/rebased-optimism/</link><pubDate>Tue, 10 Feb 2026 12:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/rebased-optimism/</guid><description>What you build when the chain does the work.</description></item><item><title>Optimistic Thinking</title><link>https://test.signet.sh/updates/optimistic-thinking/</link><pubDate>Fri, 06 Feb 2026 12:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/optimistic-thinking/</guid><description>Rollups were supposed to be a bet on Ethereum. We&amp;rsquo;re making that bet.</description></item><item><title>Application Controlled Execution</title><link>https://test.signet.sh/updates/application-controlled-execution/</link><pubDate>Wed, 28 Jan 2026 12:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/application-controlled-execution/</guid><description>How applications read L1 state and execute on Signet in the same block—without oracles or relayers.</description></item><item><title>Designing Signet Storage</title><link>https://test.signet.sh/updates/signet-storage/</link><pubDate>Mon, 26 Jan 2026 00:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/signet-storage/</guid><description>Type-safe hot/cold storage architecture with strong consistency guarantees.</description></item><item><title>Optimizing MDBX Access in Rust</title><link>https://test.signet.sh/updates/signet-libmdbx/</link><pubDate>Mon, 26 Jan 2026 00:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/signet-libmdbx/</guid><description>New Rust bindings for libmdbx, encoding database invariants in the type system.</description></item><item><title>Introducing Parmigiana</title><link>https://test.signet.sh/updates/introducing-parmigiana/</link><pubDate>Wed, 14 Jan 2026 12:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/introducing-parmigiana/</guid><description>Our latest public testnet for Signet app builders and searchers.</description></item><item><title>Signet for Solvers</title><link>https://test.signet.sh/updates/signet-for-solvers/</link><pubDate>Thu, 18 Dec 2025 12:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/signet-for-solvers/</guid><description>Same infrastructure, different game. How MEV searchers become Signet fillers.</description></item><item><title>USD-Native Gas</title><link>https://test.signet.sh/updates/usd-native-gas/</link><pubDate>Wed, 03 Dec 2025 12:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/usd-native-gas/</guid><description>Gas in dollars. Balances in dollars. No conversion math.</description></item><item><title>Passage and Transactor</title><link>https://test.signet.sh/updates/passage-and-transactor/</link><pubDate>Wed, 12 Nov 2025 12:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/passage-and-transactor/</guid><description>Two contracts. Three patterns. Every way to enter Signet from Ethereum.</description></item><item><title>Optimizing Discovery</title><link>https://test.signet.sh/updates/optimizing-discovery/</link><pubDate>Thu, 30 Oct 2025 16:00:00 -0700</pubDate><guid>https://test.signet.sh/updates/optimizing-discovery/</guid><description>Why we built one of the fastest documentation sites in crypto.</description></item><item><title>Instrumentation (for Rust Ethereum)</title><link>https://test.signet.sh/updates/instrumentation-for-rust-ethereum/</link><pubDate>Thu, 16 Oct 2025 00:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/instrumentation-for-rust-ethereum/</guid><description>Moving beyond logging to distributed tracing for production-ready Ethereum infrastructure.</description></item><item><title>Introducing Pecorino</title><link>https://test.signet.sh/updates/announcing-pecorino/</link><pubDate>Mon, 28 Jul 2025 12:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/announcing-pecorino/</guid><description>A public testnet that works where developers need it most.</description></item><item><title>Contracts That Read The Future</title><link>https://test.signet.sh/updates/contracts-that-read-the-future/</link><pubDate>Tue, 15 Jul 2025 12:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/contracts-that-read-the-future/</guid><description>Flash loans without pools. Payment gates without msg.value. Exits without waiting.</description></item><item><title>Block Building Without Auctions</title><link>https://test.signet.sh/updates/block-building-without-auctions/</link><pubDate>Wed, 25 Jun 2025 12:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/block-building-without-auctions/</guid><description>Why predictable rotation beats competitive bidding.</description></item><item><title>Synchronous Finality</title><link>https://test.signet.sh/updates/synchronous-finality/</link><pubDate>Thu, 15 May 2025 12:00:00 +0000</pubDate><guid>https://test.signet.sh/updates/synchronous-finality/</guid><description>Both chains in the same block, or nothing happens.</description></item><item><title>Clone and build</title><link>https://test.signet.sh/docs/block-builders/run-a-builder/clone-and-build/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/block-builders/run-a-builder/clone-and-build/</guid><description>&lt;h1 id="clone-and-build-the-signet-builder"&gt;Clone and Build the Signet Builder&lt;/h1&gt;&lt;p&gt;The Builder simulates bundles and transactions to create valid rollup blocks and submits them to Ethereum.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a href="#prerequisites" class="heading-anchor" data-heading-anchor aria-label="Link to Prerequisites"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Rust&lt;/strong&gt; ≥ 1.85&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Git&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AWS CLI&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="recommended-system-specs"&gt;Recommended System Specs&lt;a href="#recommended-system-specs" class="heading-anchor" data-heading-anchor aria-label="Link to Recommended System Specs"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;CPU: 0.5 vCPU (minimum 0.1 vCPU)&lt;/li&gt;
&lt;li&gt;Memory: 512MB (minimum 256MB)&lt;/li&gt;
&lt;li&gt;Clock speed: 2.8GHz+ (builder prefers clock speed over core count)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="clone-the-repository"&gt;Clone the Repository&lt;a href="#clone-the-repository" class="heading-anchor" data-heading-anchor aria-label="Link to Clone the Repository"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;div class="code-block" data-code-block&gt;
 &lt;div class="code-header"&gt;
 &lt;span class="code-lang"&gt;bash&lt;/span&gt;
 &lt;button class="code-copy" data-copy-button aria-label="Copy code" type="button"&gt;Copy&lt;/button&gt;
 &lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/init4tech/builder
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; builder&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id="build-options"&gt;Build Options&lt;a href="#build-options" class="heading-anchor" data-heading-anchor aria-label="Link to Build Options"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;h3 id="local-build"&gt;Local Build&lt;a href="#local-build" class="heading-anchor" data-heading-anchor aria-label="Link to Local Build"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;div class="code-block" data-code-block&gt;
 &lt;div class="code-header"&gt;
 &lt;span class="code-lang"&gt;bash&lt;/span&gt;
 &lt;button class="code-copy" data-copy-button aria-label="Copy code" type="button"&gt;Copy&lt;/button&gt;
 &lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cargo build --release&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The compiled binary will be available at &lt;code&gt;target/release/builder&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Introduction</title><link>https://test.signet.sh/docs/block-builders/introduction/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://test.signet.sh/docs/block-builders/introduction/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;&lt;aside class="callout callout--info"&gt;
 Welcome to Signet&amp;rsquo;s Block Builder Docs. This documentation will help you understand how to build blocks, capture value, and participate in our unique ecosystem. For more general information about Signet, see our &lt;a href="https://test.signet.sh/docs/"&gt;public docs&lt;/a&gt;.
&lt;/aside&gt;
&lt;h2 id="key-features-for-builders"&gt;Key Features for Builders&lt;a href="#key-features-for-builders" class="heading-anchor" data-heading-anchor aria-label="Link to Key Features for Builders"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;As a Signet Block Builder, you construct blocks by selecting transactions and bundles, then submit those blocks to Ethereum.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Direct Sequencer Access&lt;/strong&gt;: Work directly with the Signet sequencer in a round-robin slot system, unlike traditional PBS auctions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Capture MEV and Sequencer Fees&lt;/strong&gt;: Directly extract value from transactions within your blocks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fair Block Production&lt;/strong&gt;: Round-robin sequencing ensures equitable opportunities for all builders.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="quickstart"&gt;Quickstart&lt;a href="#quickstart" class="heading-anchor" data-heading-anchor aria-label="Link to Quickstart"&gt;
 &lt;svg class="heading-anchor-icon" data-icon width="12" height="12" aria-hidden="true"&gt;
 &lt;use xlink:href="#icon-link"&gt;&lt;/use&gt;
 &lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;To get started as a block builder:&lt;/p&gt;</description></item></channel></rss>