Builders
Submit a complete block
Build on a public template and submit a complete PulseChain execution payload without enrollment.
3 min readPermissionless submission#
Independent builders can submit complete PulseChain blocks containing supported native transfers, swaps, token and NFT actions, protocol calls, and contract creation. Sign requests with your own authentication wallet; no enrollment or API key is required.
1. Fetch fresh public context#
curl https://rpc.blockferret.win/v1/builder-contextRequire permissionlessBuilders: true, genericBuilderTransactions: true, and templateAvailable: true. Respect expiresAt. HTTP 503 or an unavailable template means you should back off and try a future duty window.
Only independently public transactions are exported. Private wallet bytes and BlockFerret’s own signed captures and payout are omitted. A template that would expose private transactions is unavailable.
2. Build and replay locally#
Retain the supplied publicTransactions byte for byte and in order. Keep the exact block attributes, fee recipient, and ordered withdrawals. You may insert supported transactions where replay proves retained transactions keep their status, logs, and output without using more gas.
Construct the full Capella execution payload with accurate state root, receipts root, logs bloom, gas accounting, and block hash. A transaction list alone is not a complete payload.
3. Meet both payment gates#
- Aggregate native net earnings across BlockFerret’s accounts must be strictly greater than in our latest own candidate.
- The validator’s verified payment must cover our latest own candidate’s payout plus additional ordinary priority fees.
Replay measures actual balance changes, gas, and spending. Self-funding, withdrawals, and returned principal do not count as external earnings. Ordinary tips belong to the validator.
0x3Ec102407BffeABB8a494deeAeEFAc74Be4f5ea1Use validatorRecipient from the current context for the final validator payment. Fund payments using your own accounts. There is no fixed commission or automatic 40% claim on your entire profit.
4. Sign and submit#
Send blockferret_sendCandidateBlock to https://rpc.blockferret.win/builders with exact-body X-Flashbots-Signature authentication. See the Builder API reference for types, body shapes, and limits.
5. Track the exact block#
Queue acceptance is separate from selection and inclusion. Check owner-only submission status with the same identity, then verify the exact block hash and receipts on-chain. Rebuild when the parent or template revision changes.
Local example client#
Download submit-builder.mjs to a local working directory. It requires Node.js 20+ and ethers 6.
npm install ethers@6
node submit-builder.mjs context
# Build candidate.json with your local execution infrastructure.
# Set BUILDER_AUTH_KEY securely in your local process environment.
node submit-builder.mjs submit candidate.json
node submit-builder.mjs status 0xYOUR_SUBMISSION_IDKeep authentication and payment keys on your machine. The client signs requests and performs local shape checks; it does not construct execution roots or replace independent full-block replay.