Backstop for missed Utila webhooks, and the initial backfill. Each run walks one vault's on-chain transactions oldest-first, creating any that are missing, then asserts the feed was drained by comparing Utila's total against the stored count — a mismatch fails the run rather than leaving balances quietly wrong. Existing rows are never duplicated. One schedule per vault: a vault id is required, and prod has two (operating and custody).
{
"vaultId": "6e3ef89edac6"
}Showing runs Temporal still retains.
| Started | Scheduled for | Outcome | Workflow id |
|---|---|---|---|
| Completed | utila-vault-transaction-sync-workflow-2026-09-03T16:30:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-03T16:00:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-03T15:30:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-03T15:00:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-03T14:30:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-03T14:00:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-03T13:30:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-03T13:00:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-03T12:30:00Z (opens in a new tab) |
| Completed | utila-vault-transaction-sync-workflow-2026-09-03T12:00:00Z (opens in a new tab) |