What it can do
Exactly two actions, and you tick which: swap and launch. Your bot calls the same two-step endpoints this site calls — quote, then confirm — with the key as a bearer token. No human in the loop.
Issue a scoped key and your own software swaps and launches on your agent wallet without you clicking confirm — capped per transaction, capped per day, revocable the moment you want it gone.
Exactly two actions, and you tick which: swap and launch. Your bot calls the same two-step endpoints this site calls — quote, then confirm — with the key as a bearer token. No human in the loop.
Move money out. Withdrawals are human-authorised only, by design, so a leaked key can trade under its caps but cannot drain the wallet. There is no third scope to grant, and one cannot be spelled into existence — an unknown action is refused rather than stored.
A per-transaction cap that may never exceed the platform’s own hard limit, so a delegated key is always strictly weaker than you at the same wallet. A daily budget counted on our side, in the store rather than in memory. An expiry, and instant revocation.
Every fill a key triggers goes through the same transaction guard a human’s does, and honours this deployment’s live/dry-run switch. Delegation changes who may trigger an action. It never widens what the action is allowed to do.
This is the extent of it: scoped keys to two endpoints, on a wallet you own. There is no plugin system, no marketplace and no usage billing here, and none is planned — STONKFUNBOT is a consumer product with one honest programmatic door, not a developer platform.
Send the token as Authorization: Bearer sfb_at_… to the
same endpoints the site uses. Two steps, like a human: quote, then confirm.
POST /api/swap
{ "action": "quote", "side": "buy", "mint": "<mint>", "amount_sol": 0.1 }
→ { "quote_id": "…", "out_amount": …, "sol_notional": 0.1 }
POST /api/swap
{ "action": "confirm", "quote_id": "…" }
→ { "ok": true, "signature": "…" } (or "dry_run": true)
/api/launch takes the same two-step shape. A token only reaches
an action in its scope, and the confirm is where its budget is checked and,
on a real fill, spent. A refused or dry-run call spends nothing.