Vaeltrix Docs

SLA templates

Specification of SLA templates, corridor scopes, penalty models, and live Template 901.

Implementation status: The deployed foundation supports provider registration, templates, stake/coverage/exits, and scoreboard storage. Claim filing, challenges, payouts, the observer service and the public SDK are planned; integration steps for them describe the intended protocol, not runnable deployed functionality. See the technical specification for the status breakdown.

What is an SLA template?

An SLA template defines an objective, verifiable performance contract for offchain cross-border payouts. Anchors commit stake to a specific template version, and sending clients route payments knowing the exact speed target and financial remedy.

Templates are immutable once activated. When parameters require tuning, governance proposes a new version behind a timelock delay.

Template parameters

FieldTypeDescription
idu32Unique template identifier (e.g. 901).
versionu32Version number (starts at 1).
metricMetricCurrently TimeToCompletion.
start_eventEventKindEvent marking the beginning of measurement (OnChainSettled only in V0).
end_eventEventKindEvent marking delivery (ReceiverCreditConfirmed only in V0).
target_msu64SLA delivery target in milliseconds.
grace_msu64Grace buffer in milliseconds before breach penalties apply.
max_hold_msu64Maximum allowable cumulative pause duration for carve-outs.
claim_window_secsu64Claim filing window measured from the breach deadline.
evidence_modeEvidenceModeMode of evidence required (DualSigned, ProviderSigned, or ObserverOnly).
scopeScopeAsset, corridor, direction, and amount bounds.
carve_outsVec<CarveOut>Allowed pause justifications.
penaltyPenaltyModelFormula for calculating penalty compensation.

Live testnet template: Template 901

Template 901 is active on Stellar testnet and backed by Commitment 1:

  • ID & Version: 901 (Version 1)
  • Target Duration: 2 minutes (120,000 ms)
  • Grace Period: 10 seconds (10,000 ms)
  • Maximum Hold: 60 seconds (60,000 ms)
  • Claim Window: 10 minutes (600 s)
  • Corridor Scope:
    • Asset: Testnet USDC (CB2CFWENJ2M5JXWBGUOKO75QVIFJ2EY5WOIOHR6FFYTXAKGS2S3XOIM4)
    • Direction: Inbound (as recorded by the seeded scope)
    • Amount Range: 1 USDC to 10,000 USDC
  • Penalty Model:
    • Model: PerBreachBps
    • Basis Points: 500 bps (5% of payment volume)
    • Cap: 100 USDC (1,000,000,000 stroops)
  • Approved Carve-outs: ComplianceHoldDeclared only in the seeded template. Other carve-out variants exist in the shared types and pure rules, but are not enabled in template 901.

Proposing and activating templates

Templates cannot be altered arbitrarily:

  1. propose_template: The registry admin submits a full SlaTemplate struct. The template status is set to Proposed.
  2. Timelock delay: The template must wait for the registry timelock duration (timelock_secs, 60 seconds in the Testnet deployment) before it can take effect.
  3. activate_template: Once the timelock elapses, anyone can call activate_template(id, version) to transition the status to Active. Providers may now bind commitments to this template.
  4. deprecate_template: When retiring a template version, governance calls deprecate_template. Existing commitments continue until exit, but no new commitments may bind to deprecated templates.

On this page