Install & Compatibility
Where this runs
tested against v0.0.2 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 21.4MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 2.1s · import 0.000s · 22MB
20MB installed
● package 20MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Builder
✓ from py_builder_signing_sdk import Builder
✗ from builder_signing_sdk.builder import Builder
This quickstart initializes the `Builder` SDK with an Ethereum account. It demonstrates how to securely handle private keys using environment variables and provides a basic setup for signing builder bids and bundles. Note that the actual signing calls are commented out as they require valid, context-specific data.
import os
from builder_signing_sdk.builder import Builder
from eth_account import Account
# WARNING: In a real application, retrieve your private key securely, e.g., from environment variables.
# DO NOT hardcode private keys in production code.
# This is a dummy private key for demonstration purposes ONLY.
private_key_env = os.environ.get('BUILDER_PRIVATE_KEY', '0x1111111111111111111111111111111111111111111111111111111111111111')
if private_key_env == '0x1111111111111111111111111111111111111111111111111111111111111111':
print("WARNING: Using a dummy private key. Set BUILDER_PRIVATE_KEY environment variable for real usage.")
# Initialize an Ethereum account from the private key
account = Account.from_key(private_key_env)
# Define your builder's name
builder_name = os.environ.get('BUILDER_NAME', 'my-test-builder')
# Initialize the Builder SDK
builder = Builder(builder_name, account)
print(f"Initialized Builder SDK for '{builder_name}' with Ethereum address: {account.address}")
print("You can now use 'builder.sign_bid()' or 'builder.sign_bundle()' to sign MEV payloads.")
# Example of how you would call sign_bid (requires valid data, commented out to keep runnable):
# signed_bid_id = builder.sign_bid(
# gas_limit=21000,
# gas_price=10**10,
# base_fee_per_gas=10**10,
# builder_eth_balance_delta=0,
# builder_eth_balance_after=0,
# block_number=12345678,
# tx_hash="0x" + "0"*64,
# tx_eth_value=0,
# sender_address=account.address,
# destination_address="0x" + "0"*40,
# mev_gas_price=0
# )
# print(f"Signed dummy bid ID: {signed_bid_id}")
Upgrade
Version history
0.0.2latest on PyPI · released Oct 20, 2025
Audit
Dependencies
eth-accountrequiredRequired for Ethereum account management and cryptographic signing.
web3requiredCore Ethereum utility library, likely used for interacting with Ethereum data types and potentially RPC calls.
eip712requiredCrucial for EIP-712 structured data signing, a standard for web3 applications.
requestsrequiredStandard library for making HTTP requests, possibly used for submitting bids/bundles to an external service.