katch mission launch creates a Katch draft and returns an authorized funding transaction. It does not broadcast the transaction.

Manual funding steps

  1. Read the top-level next object.
  2. Confirm next.action is broadcast_funding_transaction.
  3. Check next.expiresIn and next.expiresAt.
  4. Ensure the creator wallet has enough reward token balance.
  5. If allowance is too low, approve funding.factoryAddress to spend funding.totalBudgetBaseUnits of funding.tokenAddress.
  6. Broadcast next.sendTransaction from the creator wallet.
  7. Wait for the transaction to be mined.
  8. Run next.commandAfterFunding.
katch mission confirm draft_mabc1234_deadbeef

What must not change

The returned transaction is bound to the Katch authorization. Do not change:
  • to
  • data
  • value
  • sender / creator wallet
  • token
  • reward amount
  • targetCount
  • authorization deadline, nonce, signer, creator, or signature
If anything changes, Katch will reject the funding confirmation.

Approval before funding

The funding transaction pulls the total reward budget from the creator wallet. If the token allowance is too low, send a normal ERC-20 approve(spender, amount) transaction first:
  • spender: funding.factoryAddress
  • amount: funding.totalBudgetBaseUnits
  • token contract: funding.tokenAddress
Then broadcast the Katch funding transaction.

Expiry

Funding authorizations are short-lived. The CLI returns:
  • next.expiresAt
  • next.expiresInSeconds
  • next.expiresIn
  • funding.authorization.expired
  • funding.authorization.expiringSoon
If the authorization expires before funding is mined, rerun katch mission launch and use the fresh returned transaction. Do not submit stale calldata.

Auto-funding

The public CLI currently defaults to manual funding. That keeps EOAs, smart accounts, treasuries, and proposal workflows on the same path. Auto-funding is planned as a separate command because it needs RPC configuration, token approval checks, balance checks, gas estimation, and clear wallet safety prompts.