Measured, not estimated
Runs simulateTransaction against a Soroban RPC and records CPU instructions, read and write bytes, and footprint entry counts for each function in a fixture.
Fail a pull request when a Soroban contract function gets more expensive, using costs measured on a real network.
BudgetGate is a CI regression checker for Soroban smart-contract resource cost. It simulates configured contract calls, saves the measured cost as a baseline snapshot, and flags a change when a function's cost goes up too much.
A 105-second demo with captions and a synthetic voice: a real run of the CLI on testnet, then a real pull request where the Action reports a regression and fails the check, the fix that turns the same report green, and the history on the live dashboard. Every number is from a real run.
A change to a Soroban contract can make a function much more expensive without failing a test. Nothing shows it until a call costs more, or hits a network limit.
Teams building on Soroban keep writing this task for themselves:
Other tools also compare Soroban costs. BudgetGate measures through a Soroban RPC on testnet, so it needs no local network, ships binaries for Linux, macOS and Windows, and keeps the history:
1 is a regression and 2 means the run could not measure, so CI never confuses the two. An archived contract stops the run instead of reporting a restore as a regression.Run on real pull requests in the public test repository. Early-stage: not audited and not production-ready.
It does not do static analysis or vulnerability scanning. For that, see Scout-Soroban.
Status
BudgetGate is early-stage software. It has not been audited and is not production-ready. Core's latest release is v0.2.5; the Action's is v0.2.2. The limitations of each part are listed on its pages.
soroban-budget-core simulates each call on a Soroban RPC (testnet by default) and builds a snapshot of the measured cost.1 if any metric rose more than the threshold.soroban-budget-action runs core in a GitHub workflow and posts the table as a pull request comment.soroban-budget-dashboard charts a history of snapshots. Nothing produces that history automatically yet; see the dashboard page.