Backstop for missed Utila webhooks, and the initial backfill. For each vault named in its `vaultIds` argument, a run first compares Utila's on-chain total against the stored count and stops there when they match. Otherwise it pages the feed newest-first, creating any transactions that are missing, until the counts match, starting again from the newest page if it reaches the end first. A pass through the whole feed that creates nothing fails the run rather than leaving balances quietly wrong. Existing rows are never duplicated. One schedule covers every vault its `vaultIds` names, sourced from this environment's Utila vault configuration (prod: operating and custody).
{
"vaultIds": [
"6e3ef89edac6"
]
}Showing runs Temporal still retains.
| Started | Scheduled for | Outcome | Workflow id |
|---|---|---|---|
| Completed | utila-vault-transaction-sync-workflow-2026-09-16T19:00:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-16T18:30:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-16T18:00:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-16T17:30:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-16T17:00:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-16T16:30:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-16T16:00:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-16T15:30:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-16T15:00:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-16T14:30:00Z (opens in a new tab) |