The questions people actually ask. If yours isn't here, ping us on X.

Can I cancel after a keeper has started executing?

Cancel is atomic — once a keeper's execute_commitment tx lands, the commitment is closed and cancel will fail with NotActive. In practice you have time: a keeper only acts when the trigger condition + price bound is satisfiable. If you cancel and the keeper's tx lands in the same slot, exactly one wins (Solana's deterministic ordering); whichever loses fails cleanly.

Why only USDC, USDT, and wSOL as payment?

These are the three Solana stable / native assets with the deepest, most reliable Jupiter routability. Adding more would expand attack surface (every payment mint is a Token-2022 or SPL Token check) without meaningfully helping users. The list is hardcoded in the program; changing it requires a new program deploy.

Why can the target mint be Token-2022?

Many new Solana tokens launch as Token-2022 for the metadata + transfer-fee extensions. fillr rejects unsafe extensions (transfer fee, transfer hook, permanent delegate, etc.) but allows the safe ones. This list is hardcoded — see the Architecture page for the full reject list.

What happens if Jupiter delivers more than min_fill but less than expected?

Fine. min_fill is the floor; tokens_received ≥ min_fill is the only constraint. You can set min_fill conservatively (e.g. 80% of your hoped-for fill) to leave the keeper some routing margin while still getting protection.

What if max_price is exceeded mid-route?

The post-CPI check reads the post-swap balance delta and computes effective_price = ceil(spent × 1e18 / received). If that exceeds max_price, the entire tx reverts — Jupiter swap is rolled back, no fee is taken, the commitment stays Active.

Can I increase the keeper bounty on an existing commitment?

No mutation instructions exist on Commitment. Cancel + re-create with a higher bounty is the workaround. We may add an `increase_bounty` ix in v2 if there's demand.

What's the minimum / maximum payment amount?

Program-side: minimum is 1 raw unit. Practical floor is whatever covers ~0.01 SOL of rent + fees + your bounty. There is no maximum.

Can I run my own keeper?

Yes. See The keeper. The reference impl is open in the repo — pnpm install, set env, fly deploy.

Will there be a token?

$FILLR is launching on pump.fun. It's a community token — it does not govern the protocol, gate any features, or change the fee model. The program stays immutable and the mechanics are identical with or without it: there's no admin to vote on post-renounce. The contract address is published on the homepage at launch.

What does fillr earn?

20bps on every successful execute_commitment, sent to the treasury multisig. No cancel fees, no expiry fees, no subscription, no premium tier.