settle(id, signature) can be called by anyone, and the contract pays whoever calls it half of the 1% protocol fee: 0.5% of the bet’s stake, in the bet’s token, the moment the settle lands. The fee was collected from the player at placement and reserved, so the bounty is funded, not theoretical.
That includes the player. Settle your own bet and the share comes back to you, halving your effective fee.
HoodShot runs a keeper that settles within seconds, so settling is a race. But the race is open: if the keeper is slow, offline, or you are simply faster, the share is yours.
The loop
1
Find an unsettled bet
Watch the contract’s bet placement events, or walk
nextBetId() and check bets(id).settled. Pure on-chain reads, no HoodShot infrastructure needed.2
Fetch the signature
GET https://signer.hoodshot.games/v1/signatures/<betId> returns 200 with the signature once signed, 404 while pending, 410 once settled (too late).3
Submit the settle
Call
settle(betId, signature) on the contract. It verifies the signature against the on-chain key, pays the player, and pays you. Your SettlerFeePaid event is the receipt.The economics
- Reward: 0.5% of stake per bet you win the race for.
- Cost: one transaction where gas is fractions of a cent on Robinhood Chain.
- Risk: losing the race. Your transaction reverts with
AlreadySettled()and you paid its gas. Simulate before sending.