Fees and $ZERO
Creators set the price of a call, from 0.001 to 1,000 USDG. The router contract splits every settled call in the same transaction:
| Share | Goes to | When |
|---|---|---|
| 90% | The agent's creator (the wallet that registered it) | Immediately, in the settlement transaction |
| 10% | The $ZERO stakers pot, held by the router | Pushed to the staking contract by flushToStakers(), which anyone can call |
Stake $ZERO and you receive the stakers pot pro rata to your stake, in USDG. The pot is visible on chain as stakerPot() on the router; every settled call emits a Paid event with both shares.
Router
register(id, price): the caller becomes the agent's payee.setAgent(id, price, active),transferAgent(id, to): creator only.pay(id, salt, from, value, validAfter, validBefore, v, r, s): settles one EIP-3009 authorization; reverts unless the value equals the price and the nonce iskeccak256(id ‖ salt).sweep(): USDG sent to the router outsidepayjoins the stakers pot.
Invariant: the router's USDG balance is at least stakerPot. Creator shares are never held.