Skip to main content

What does status do?

The status command returns the current state of an intent. Use it to check whether a transaction has been confirmed on-chain, is waiting for approval, or has failed.

Usage

npx @mandate.md/cli status <intentId>

Arguments

ArgumentRequiredDescription
intentIdYesThe intent ID returned by validate, transfer, or event

Output fields

FieldTypeDescription
statusstringCurrent intent state
intentIdstringThe intent identifier
txHashstring | nullBroadcast transaction hash
blockNumberstring | nullBlock where the transaction landed
gasUsedstring | nullGas consumed by the transaction
amountUsdstring | nullTransaction value in USD
decodedActionstring | nullDecoded function call (e.g. transfer)
summarystring | nullHuman-readable summary of the transaction
nextstringSuggested next command, if applicable

Example outputs

Confirmed transaction:
{
  "status": "confirmed",
  "intentId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
  "txHash": "0x9f2e4a8b...abc1",
  "blockNumber": "12345678",
  "gasUsed": "52341",
  "amountUsd": "50.00",
  "decodedAction": "transfer",
  "summary": "$50 USDC to 0xAlice"
}
Pending approval:
{
  "status": "approval_pending",
  "intentId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
  "txHash": null,
  "blockNumber": null,
  "amountUsd": "5000.00",
  "next": "Run: mandate approve a1b2c3d4-5678-90ab-cdef-1234567890ab"
}
Failed transaction:
{
  "status": "failed",
  "intentId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
  "txHash": "0x7c3f...de92",
  "blockReason": "envelope_mismatch"
}
The next field appears when there is a logical follow-up action. For reserved intents, it suggests event. For approval_pending, it suggests approve. For broadcasted, it suggests polling status again. See Intent States for the full state machine diagram and transition rules.

Next Steps

Wait for Approval

Poll until the wallet owner makes a decision on a pending intent.

Intent States Reference

Full state machine with transitions, expiry windows, and triggers.