- 01
Agent has its own onchain identity — daimon::agent::new mints a shared agent object on Sui. Its identity and active public key ID live there; its USDC account is stored inside the object as a dynamic field. The operator holds OwnerCap for Telegram agents.
- 02
Agent owns its API access — The public key ID is bound to agent_id on Sui. Internal calls require a service token; an owner can obtain a sealed private credential through an OwnerCap challenge. The public ID alone grants no access.
- 03
Agent pays with onchain money — A refill transfers USDC from the agent account to the configured treasury on Sui. Anyone can deposit; only the OwnerCap holder can withdraw. Operator charges obey onchain limits: $1 per charge, $5 per day, $50 max account balance.
- 04
Agent consumes the paid-for access — The LLM call goes through a proxy that debits the key per call, at the agent's own price. Usage is gated by paid credit, not by an operator-held API key.
- 05
Money movement is auditable — Sui records deposits, refills, withdrawals, and active key bindings. Model calls and walks are not recorded on chain; the ledger records off-chain call usage. Inspect onchain transactions on suiscan.