feat: relax debt to escrow ratio requirements - #18
Merged
Merged
Conversation
Signed-off-by: Tomás Migone <tomas@edgeandnode.com>
Contributor
Coverage Report for CI Build 35007570941Coverage decreased (-0.2%) to 46.133%Details
Uncovered Changes
Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
Signed-off-by: Tomás Migone <tomas@edgeandnode.com>
MoonBoi9001
approved these changes
Sep 15, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The escrow currently holds ~2.87M GRT against ~1M GRT of debt (2.87x). Most of that gap is not the funding formula, the algorithm targets ~1.67x and never withdraws. Balances are a high-water mark that only drains when receivers collect. The escrow has no metric to tell the two apart and no way of withdrawing to reduce the balance if needed.
Changes
Observability: new metrics added
escrow_target_grt{receiver}andescrow_total_target_grt, expose the target balance the algorithm is aiming for, so idle capital (balance - target) is directly measurable per receiver and in aggregate. Targets are recorded for every receiver, including those already above target, which is precisely the over-funded case that was previously invisible.New
balance_fill_factorconfig field, replaces the hardcoded0.6innext_balance, defaulting to0.8. The target settles at roughlydebt / balance_fill_factor, so this moves steady-state funding from ~1.67x to ~1.25x debt.