Know where a payment is
Follow each payment from the agent's decision to the payee's wallet and your books: its stages and their sources, an outcome not known yet, payments in flight on Treasury, and a receipt's status.
"Paid" can mean three different things: a transfer was sent, the network confirmed it, or your books record it. Vestiarion keeps them apart for every payment it makes and shows them on one line, each stage with when it was reached and the record that says so: the agent's signed entry, Circle's answer, the chain, or the bill itself. It works the same in a workspace on Arc testnet and on Arc mainnet.
Nothing on these screens sends, holds or retries a payment. They read what is already recorded. Why a payment was made, from the purchase order to the receipt, is on its evidence page: see Why a payment was paid.
Where the payment is, on its card
On Bills & receivables, open a bill the agent or a person has paid or started to pay, by its name. Under How the agent decided, its card folds Where the payment is. The line beside it says where the payment is now, such as "Reconciled", "Pending · sent 12 min ago" or "Outcome unknown · checking with Circle". Open it for the stages, in order:
- Proposed: "The agent decided to pay it." or "A person chose to pay it.", with a link to the entry in the audit log.
- Authorized: what let it be sent: "Code's checks passed, so the agent could pay it on its own.", "A person approved it." or "Two people approved it." When a person approved a later attempt, theirs is the one shown. A person who approved a transfer already on its way sent nothing new, so the authorization that sent it stays.
- Submitted: "Vestiarion sent it to Circle." A later attempt says which one it is. In a sandbox, nothing reaches Circle: "Vestiarion simulated sending it."
- Pending: Circle took the transfer and has not confirmed it yet, with Circle's own word for where it is, such as SENT, QUEUED or STUCK. When the transfer watch asked Circle about a slow payment, its answer shows here too. A payout to another chain through CCTP is burned on Arc, then minted on the payee's chain, so while it waits for its mint, Circle's CONFIRMED is about the burn, not the payout: "Circle confirmed the burn on Arc testnet; the mint on Base Sepolia is not recorded yet", with a link to the burn. Before its burn is sent, "the burn that pays the payee has not been sent yet".
- Confirmed: Circle confirmed the transfer on the workspace's network, with a link to the transaction on the explorer. A payout to another chain is confirmed once it is minted there, and the next stage links the mint on that chain's explorer.
- In the payee's wallet: a transfer on Arc is final once it is confirmed, so this stage is reached with the confirmation: "Moving it to a bank is the payee's own step, which Vestiarion does not see." A payout to another chain reaches it once its mint there is recorded, and names that chain. A sandbox payment is simulated: "A simulated payment reaches no wallet."
- Reconciled: "The bill is marked paid with this transaction, and a signed entry records it."
A bill brought in from Xero has one more line after the stages, about its books: Booked in Xero, with the payment's id in Xero, once an owner or admin approved the booking and Xero answered when Vestiarion read it back; otherwise why it is not booked yet, or never will be. See Book payments in Xero.
Each reached stage shows when it was reached, in UTC. Circle takes a transfer as it is sent, so Pending shows the time of the send; the agent's cycle and the transfer watch ask Circle again later, and a word read after the send says when, such as "(Circle: SENT, as of Oct 11, 2026, 10:25 UTC)". The signed entry behind Proposed and Authorized is written once the transfer's first answer is back, a little after the send, so these two show the time of the send when their entry is later; the audit log keeps the entry's own time. A stage still to come says "Not yet."; one passed without a record of its own, such as a pending read Circle never needed, says "Not recorded here."
When it did not go through
The stages stop where the payment did, and say how it ended:
- Failed: Circle ended the transfer, with its reason. "The payee was not paid."
- Cancelled: "Cancelled: Circle cancelled it. The payee was not paid."
- Not sent: "Not sent: it stopped before Circle took the transfer", with why, as it was recorded: Circle's own words for a request it refused, the check that stopped it before the send, or that Circle listed no transfer 15 minutes after a send it never answered. "The payee was not paid."
None of them says no money moved: a transaction that failed on chain still paid its network fee. When a person sends it again with Approve and pay, the card follows the new attempt, and Earlier attempts lists how each one before it ended.
When the outcome is not known yet
Sometimes Circle does not answer a send at all, so the payment may or may not have been taken. The card then says Outcome unknown: "Circle did not answer when this payment was sent, so it may have taken the transfer. Vestiarion looks for it on Circle before anything else is sent, and sends a new transfer only once Circle shows none." A payout to another chain, which Circle cannot list this way, "is asked for again under the same payment key, which Circle takes only once, so it is never sent twice."
Who looks for it depends on where the bill is. While the agent's cycle comes back to the bill, a payable it is paying or a verified milestone, the line says "Outcome unknown · checking with Circle": each cycle looks for the transfer before anything else is sent, so while the agent is paused, the check waits until it is resumed. A bill held for a person instead, such as a payment now above the figure that needs two approvals, says "waiting for a person in Approvals", or "on Contractors" for a milestone, and "Nothing checks it on its own now": Approve and pay, or Pay now, looks for it first and sends nothing twice.
When Circle took a transfer but could not be read the last time it was asked, the payment stays pending: "Circle could not be read just now; nothing is sent again until it answers."
A payout through Circle Gateway that Gateway reported failed says "Gateway reported it failed". It is not counted as failed: its attestation may still be minted on the payee's chain, so nothing is sent again. Neither the agent nor the transfer watch looks at it again: "Nothing checks it on its own: check with Circle whether it was minted." Approvals shows it too, where a person decides the bill.
Under the stages of a payment slow to confirm, of unknown outcome, failed, cancelled or not sent, a What to do block says who acts, what Vestiarion already did, the next step and where the trail is, with the transfer's Circle id. When a payment does not settle is the runbook for each state.
What keeps a payment from being paid twice:
- A transfer Circle has taken is only ever read again, by the agent's cycle and by the transfer watch.
- Only a person opens a new attempt, with Approve and pay, or Pay now on a held milestone, and only when Circle, asked right then, says the last one failed or was cancelled.
- A send Circle never answered is looked for by the payment's reference before anything goes out. Only once Circle shows it never took it is the payment sent again, under the same key.
When the books do not match
The payment's transfer and its bill are compared. When they disagree, the line and a sentence under the stages say how:
- "Confirmed, but the bill is not marked paid yet: the agent's next cycle marks it." A bill held for a person says who records it instead: "Approve and pay in Approvals records it.", or, for a milestone, "Pay now on Contractors records it."
- "The bill is marked paid, but Circle has not confirmed this transfer."
- "The bill is marked paid with another transaction than this one."
- "The bill is marked paid with this transaction, but no signed entry names it."
When a workspace has more entries about the bills a page shows than one read returns, the page reads the newest. A paid bill whose entry is older than those is not counted as a mismatch; its Reconciled stage says "The signed entry that records it is older than the entries this page reads, so it is not checked here."
A record that arrives late never moves a payment back. A failure recorded after Circle confirmed the transfer is ignored and listed under the stages, since a confirmed transfer stays confirmed.
Payments in flight, on Treasury
On Treasury, Payments in flight lists every payment "Sent and not confirmed by Circle yet, the oldest first." Its line gives how many there are, what they add up to in each currency, how long ago the oldest was sent, and how many are past the network's wait, the 15 minutes after which the transfer watch asks Circle about a payment. Each row names the payee and the amount, where the payment is and how long ago it was sent, Circle's word for it, and "past the 15 min wait" when it is. A CCTP payout whose burn Circle confirmed says so, with its mint still to come, as on its card. A Gateway payout Gateway reported failed is not listed, counted or aged here, since nothing watches it any more; its card says where it is.
Under Not matching the books are the payments whose transfer and bill disagree, such as one Circle confirmed whose bill is not marked paid yet, whether the agent's cycle marks it or a person records it, each with why. A payable's name opens its card's stages on Bills & receivables; a milestone's opens Contractors. The section is not there when nothing is in flight and the books match.
On a shared receipt
A payment's shared receipt has a Status row that says, in words, how far the payment is known to have gone and from which source. The date under the amount says when Circle confirmed it: "Confirmed by Circle:" and the date.
- Reconciled: Circle confirmed it, the receipt page found the transfer on the chain itself, and the workspace's signed ledger has the entry that records it.
- Confirmed: Circle confirmed it, and a check could not be made just now. The row says which: "Not reconciled just now:" and the reason, such as the chain not answering the page.
- Not reconciled: "A check below does not pass, so it is not reconciled."
What it does not show
- A bank. Vestiarion does not see the payee's bank, so no stage says money is in one.
- Refunds and chargebacks. "A confirmed transfer cannot be charged back or reversed. A refund would be a new transfer back, a separate payment."
- What you paid yourself. A bill you paid outside Vestiarion, as the report's Agent vs what really happened compares, is its own record, never a stage of a payment on Arc.
- Contractors. A milestone's card does not show the stages yet; Payments in flight lists a milestone's payment while it is on its way.