confirmation_required response instead of executing the transaction. await_confirmation lets your agent wait for the human’s decision by polling with the confirmation_id from that response.
Because Nebula’s Hub is serverless, each call polls for a bounded amount of time (up to 25 seconds). If the human has not yet responded, the tool returns pending and your agent should immediately call again with the same confirmation_id. Continue polling until the status changes to approved, rejected, or expired.
Parameters
The confirmation ID returned in the
confirmation_required response from the original tool call. This value is stable — use the same ID across all polling iterations.How long (in seconds) this single call should wait for a response before returning. Defaults to
15. Maximum is 25. If the human has not acted within this window, the tool returns pending — the transaction is not cancelled; call again to continue waiting.Response states
The outcome of this polling attempt. One of:
approved, rejected, pending, or expired.| Status | Meaning |
|---|---|
approved | The human approved the transaction; it has been executed on-chain. |
rejected | The human explicitly denied the transaction; it has been cancelled. |
pending | No decision yet within the polling window. Re-call with the same confirmation_id. |
expired | The confirmation timed out without a human decision. The transaction has been cancelled. |
Where humans approve
The approving human visits the Approvals tab at nebulaonchain.xyz or navigates directly to/approve/:id (substituting the confirmation_id). Approvals can be made on any device.
Re-polling pattern
Examples
Tool callawait_confirmation request
await_confirmation — approved
await_confirmation — rejected
await_confirmation — pending
await_confirmation — expired