|
43 | 43 | is a flag and does not take a value. |
44 | 44 | schema: {} |
45 | 45 | allowEmptyValue: true |
| 46 | + - name: builder_boost_factor |
| 47 | + in: query |
| 48 | + required: false |
| 49 | + description: | |
| 50 | + Percentage multiplier to apply to the builder's payload value when choosing between a |
| 51 | + builder payload header and payload from the paired execution node. This parameter is only |
| 52 | + relevant if the beacon node is connected to a builder, deems it safe to produce a builder |
| 53 | + payload, and receives valid responses from both the builder endpoint _and_ the paired |
| 54 | + execution node. When these preconditions are met, the server MUST act as follows: |
| 55 | +
|
| 56 | + * if `exec_node_payload_value >= builder_comparison_factor * (builder_payload_value // 100)`, |
| 57 | + then return a full (unblinded) block containing the execution node payload. |
| 58 | + * otherwise, return a blinded block containing the builder payload header. |
| 59 | +
|
| 60 | + Servers must support the following values of the comparison factor which encode common |
| 61 | + preferences: |
| 62 | +
|
| 63 | + * `builder_comparison_factor=0`: prefer the execution node payload unless an error makes it |
| 64 | + unviable. |
| 65 | + * `builder_comparison_factor=100`: default profit maximization mode; choose whichever |
| 66 | + payload pays more. |
| 67 | + * `builder_comparison_factor=2**64 - 1`: prefer the builder payload unless an error or |
| 68 | + beacon node health check makes it unviable. |
| 69 | +
|
| 70 | + Servers should use saturating arithmetic or another technique to ensure that large values of |
| 71 | + the `builder_comparison_factor` do not trigger overflows or errors. If this parameter is |
| 72 | + provided and the beacon node is not configured with a builder then the beacon node MUST |
| 73 | + respond with a full block, which the caller can choose to reject if it wishes. If this |
| 74 | + parameter is **not** provided then it should be treated as having the default value of 100. |
| 75 | + If the value is provided but out of range for a 64-bit unsigned integer, then an error |
| 76 | + response with status code 400 MUST be returned. |
| 77 | + schema: |
| 78 | + $ref: "../../beacon-node-oapi.yaml#/components/schemas/Uint64" |
46 | 79 | responses: |
47 | 80 | "200": |
48 | 81 | description: Success response |
|
0 commit comments