A slot is about 0.27 seconds today. So 300 slots is about 80 seconds, and 216,000 slots is about 16 hours. Slot times change over time, so these are estimates.
The VRF callback settles a pending draw. If it never comes, expiry settles it at the deadline. A settled prize is paid at once, or owed until a claim. Then the draw can close.
Retry
Only the buyer can callretry_draw, after the retry wait. The buyer pays the next randomness fee and signs max_vrf_debit, the most SOL it may cost. A retry does not change the stored prize table, the reservation or the deadline. Every request carries the same seq. The first answer that arrives settles the draw. The others then fail and change nothing.
Expiry
From the deadline on, anyone can callexpire_draw. The pack then pays its smallest prize row, without randomness. The prize is paid or recorded as owed, the same way as a normal result. Expiry never refunds the purchase.
The callback is accepted only before the deadline. Expiry is accepted only from the deadline on. So the two can never both settle a draw.
Owed prizes
The callback never fails because of your coin account. If the account is missing, closed or cannot receive the coins for another reason, the prize stays in the prize pool as owed. It stays reserved for you.claim_prize: anyone can send it. It pays the owed prize to your standard coin account and creates that account if needed. The sender pays that account’s rent.claim_prize_to: only you can send it. It pays to any coin account you own.
Closing a draw
A draw account holds a little SOL as rent. When the draw owes and reserves nothing, anyone can callclose_draw. The rent goes back to the buyer.