These tables cover all 64 fields in the pinned example, not every parser default. Replace placeholders before use. Unknown fields are rejected; relative paths use the process working directory.
Token amounts are quoted nominal decimals: ETH/PROVE allow 18 fractional digits, XMR 12, and gwei nine. One ETH or PROVE is 10^18 base units; one XMR is 10^12 piconero; one gwei is 10^9 wei. The per-billion-PGU price has at most nine decimal places so each PGU resolves to whole base units.
Validate with check-config, and separately qualify RPC behavior.
| Field |
Checked-in example |
Meaning |
level |
"debug" |
Most verbose solver-owned level: error, warn, info, debug, or trace. |
format |
"json" |
JSON structured events or compact text. |
redact_urls |
false |
Remove complete HTTP(S) locators from diagnostics; not all possible secrets. |
stderr |
true |
Write events synchronously to standard error. |
file |
"state/solver.log" |
Optional private regular append-mode log file; rotate externally and restart. |
| Field |
Checked-in example |
Meaning |
rpc_url |
Placeholder endpoint; replace |
Primary mainnet read endpoint; remote services require HTTPS. |
secondary_rpc_urls |
1 entries; see source example |
At least one secondary with exact EIP-1898 block-hash reads. |
submission_rpc_urls |
2 entries; see source example |
At least two explicit private writers; one must overlap the read list; must include reverting transactions. |
rpc_timeout_seconds |
10 |
Per-endpoint request deadline; provider probes are concurrent. |
maximum_block_age_seconds |
60 |
Reject a latest block this far behind the host UTC clock. |
maximum_block_future_seconds |
15 |
Maximum allowed future timestamp skew. |
maximum_provider_block_skew |
2 |
Admission-only height spread; allowed range 1–4; same-height disagreement also stops new bids. |
contract_address |
Placeholder; replace |
Replace placeholder with the reviewed deployment address. |
contract_code_keccak |
Placeholder; replace |
Replace placeholder with the deployed runtime hash including immutables. |
signer_key_file |
"state/ethereum.key" |
Dedicated raw 32-byte secp256k1 key as one line of hex, optionally prefixed 0x; private regular file. |
confirmations |
2 |
Inclusion counts as one; minimum two; this is not Ethereum consensus finality. |
bid_gas_limit |
300000 |
Bid transaction gas limit and reserve; minimum 150,000. |
settle_gas_limit |
500000 |
Settlement gas limit and reserve; minimum 500,000. |
max_fee_per_gas_gwei |
"10" |
Exact total EIP-1559 cap in gwei; must cover base fee plus configured tip before signing. |
max_priority_fee_per_gas_gwei |
"0.1" |
Exact gwei tip, no greater than total cap. |
receipt_timeout_seconds |
120 |
Complete receipt-depth wait; timeout triggers exact-transaction recovery, not replacement. |
deployment_block |
1 |
First possible deployment log block; replace the example lower bound. |
| Field |
Checked-in example |
Meaning |
daemon_url |
Placeholder endpoint; replace |
Sole trusted synchronized mainnet chain-data daemon; HTTPS remotely, HTTP only on loopback. |
rebroadcast_daemon_urls |
2 entries; see source example |
At least two distinct fallback propagation hosts; not trusted witness sources. |
maximum_tip_skew_blocks |
3 |
Admission height tolerance across Monero daemon observations. |
wallet_rpc_url |
Placeholder endpoint; replace |
Dedicated authenticated loopback wallet RPC; account 0. |
wallet_rpc_username |
"chainjump" |
Wallet RPC authentication username. |
wallet_rpc_password_file |
"state/wallet-rpc.password" |
Optional private regular file containing the wallet RPC password. |
transfer_priority |
2 |
Wallet transfer priority passed to Monero RPC. |
fee_reserve_xmr |
"0.001" |
Additional nominal XMR reserved for payment fees. |
output_target_count |
100 |
Confirmed unspent output target, 1–120; maintenance splits produce 16 outputs. |
payment_poll_seconds |
15 |
Payment observation polling interval. |
| Field |
Checked-in example |
Meaning |
poll_seconds |
5 |
Healthy market refresh and candidate polling cadence. |
request_timeout_seconds |
10 |
Market HTTP request timeout. |
bid_price_multiplier |
"0.99" |
Exact multiplier applied to the weighted ETH/XMR ratio. |
bid_fixed_subtraction_xmr |
"0.003" |
Nominal XMR deduction after the final piconero floor; not a protocol fee. |
| Field |
Checked-in example |
Meaning |
maximum_concurrent_swaps |
4 |
Simultaneous obligations; hard maximum 16; affects timing and funds reserves. |
maximum_xmr |
"5" |
Maximum nominal XMR per admitted swap. |
maximum_bond_eth |
"0.1" |
Maximum nominal ETH bond per admitted swap. |
enable_eth_profitability_check |
false |
Enable the optional estimated ETH profit gate; mandatory caps remain active regardless. |
minimum_profit_eth |
"0" |
Required estimated ETH profit when the optional gate is enabled. |
estimated_proof_cost_eth |
"0.01" |
Estimated proof expense in ETH for the optional profitability gate. |
estimated_evm_cost_eth |
"0.008" |
Estimated EVM expense in ETH for the optional profitability gate. |
maximum_min_height_lag_blocks |
20 |
Maximum permitted lag of the requested minimum payment height behind the observed chain. |
minimum_settlement_window_seconds |
7200 |
Minimum admitted window; must cover all configured reserves. |
maximum_difficulty_multiplier |
5 |
Maximum requested difficulty relative to observed network difficulty. |
minimum_qualification_probability_ppm |
999000 |
Minimum modeled probability in parts per million; not a liveness guarantee. |
proof_latency_seconds |
1860 |
Budget for a proof path, covering three request lifetimes plus at least 60 seconds local overhead. |
evm_submission_seconds |
120 |
Per-swap EVM budget multiplied by concurrency in the settlement reserve. |
timing_safety_margin_seconds |
600 |
Additional common timing margin. |
minimum_seconds_before_payment |
600 |
Minimum time remaining to begin first relay; does not authorize abandoning an already-possible relay. |
| Field |
Checked-in example |
Meaning |
elf_path |
"../chainjump/artifacts/chainjump-program" |
Exact reviewed Chainjump parent ELF; keep outside the managed artifact directory. |
requester_key_file |
"state/prover.key" |
Separate dedicated SP1 requester private key file. |
network_rpc_url |
"https://rpc.mainnet.succinct.xyz" |
Succinct network endpoint; release operation uses mainnet. |
prover_whitelist |
6 entries; see source example |
Nonempty reviewed, duplicate-free, nonzero prover addresses; existing requests keep their signed list. |
request_timeout_seconds |
600 |
Paid request lifetime, at least 60 seconds; all three attempts must fit the proof budget. |
auction_timeout_seconds |
180 |
Maximum viable unassigned-auction wait, at least 60 seconds and no greater than request lifetime. |
minimum_auction_period_seconds |
15 |
Positive auction duration encoded in each signed request, no greater than auction timeout. |
maximum_market_price_age_seconds |
120 |
Age for an advisory market-price warning; accepted range 1–600. |
maximum_price_per_billion_pgu_prove |
"1" |
Nominal PROVE per billion PGU cap; must resolve to integer base units per PGU and align to the tick. |
maximum_total_cost_prove |
"12" |
Hard worst-case charge cap per request, including base fee and full PGU limit. |
requester_balance_cushion_prove |
"12" |
Unallocated requester balance cushion; at least one maximum-cost request. |
| Field |
Checked-in example |
Meaning |
state_file |
"state/solver-state.json" |
Durable JSON state; sibling .artifacts directory is reserved for managed recovery files. |
maximum_artifact_storage_mib |
1024 |
Fresh-bid admission threshold in MiB; reaching it does not stop recovery or delete unknown files. |
One MiB is 1,048,576 bytes. Keep managed artifacts separate from secrets, configuration, logs, and the guest ELF.
Stop the runner before edits; signed transactions and proof requests keep their original terms. Follow upgrade requirements and recheck timing reserves when changing confirmations, concurrency, or proof lifetimes. Review whitelist membership before operating; its six example entries reflect a review ending 2026-08-20.