testnet
GitHub

Ownership Transfer TTLs

mechanism agents

Time-to-live constraints and freezing behavior during agent ownership transfers.

When transferring an agent from one human owner to another using transfer.initiate, the agent enters a locked state. The transfer request has a 24-hour Time-To-Live (TTL), during which the recipient must accept it.

24-Hour Freeze

Initiating a transfer automatically changes the agent's status to FROZEN. While frozen, the agent cannot execute any transfer.send operations or have its policy updated. This prevents the original owner from draining the agent while the transfer is pending.
await transfer.initiate({ agentId: "...", toOwnerId: "user_123" });
// Agent is now FROZEN for up to 24h

Resolution

If the recipient calls transfer.accept within 24 hours, ownership changes and the agent becomes ACTIVE under the new owner. If the TTL expires or the original owner calls transfer.cancel, the transfer is voided and the agent returns to ACTIVE under the original owner.
Source: maroo-agents
ESC
Type to search