Parent and child threads
The parent gives the child a complete work order. It can select an App, activate the relevant skills, and provide an initial chain context. The child then works in its own transcript. When it finishes, the parent receives the child’s final message and a system-produced summary of any staged transactions. The parent can continue the same child by itsagent_id. A continuation keeps
the child’s original App, skills, chain context, and lineage. This prevents a
follow-up from silently changing the identity or capability of an existing
child.
A child narrows authority
A child receives enough account and wallet context to perform its assigned work. It does not receive every capability of the parent.- It can read data, call its App’s tools, build transactions, and simulate them.
- It cannot sign or submit a transaction. The parent must review the staged
result and call
commit_staged. - It cannot create another foreground child or schedule asynchronous work.
- It cannot request, revoke, or expand wallet authorization.
- If the parent is read-only, the child remains read-only.
A child can propose a transaction, but it cannot turn that proposal into an
onchain side effect. The parent receives only staged work that has reached a
terminal simulation result.
Threading does not imply parallel execution
Each thread processes one active turn at a time. This makes the transcript and working state deterministic within that thread. Foregroundtask calls are also serial. The parent waits for one child to
finish before it evaluates the result or starts the next delegated action. You
can create separate children for independent work, but their results return to
the parent in the order the parent runs them.
Use a child thread when you need a separate specialist, a different App, or a
clean work context with a result returned to the current conversation. Use an
asynchronous task when the work should start
without making the current conversation wait.
Choosing the right boundary
Further reading
Asynchronous tasks
Learn how detached, scheduled, and condition-triggered work creates fresh
threads when it is ready to run.
Permission model
See how the parent thread and wallet policy control the signature boundary.