Docs localnet · batch — · opens in —

Solvers

A solver opens batches, bids for the net, clears and settles. Anyone with a bond can.

1 Running the open solver

The open solver is the same code the backend runs. It follows the program by websocket and a signature walk, never a repeated program-account scan, and acts on each batch in turn: open, bid, clear, settle.

It routes the net through Jupiter Swap API V2 (/build, transactionVersion=1) on mainnet and through a local constant-product pool seeded with the test mints on localnet. Jupiter's keyless rate is 0.5 requests a second; a solver at volume uses its own API key.

2 Bonding

register_solver posts the bond. A winning solver that fails to clear in its window is slashed: its bond goes to the pair's orders. withdraw_bond works after a cooldown.

3 Bidding

A bid is a price for the pair's net. The program takes the bid that leaves the orders the most surplus, so solvers compete on price, not on speed.