Circuit Breaker Halt State Testing

⚠️ This category requires the circuit breaker HALT state to be active (CR < 90%). The Akash Core team will announce a 24-hour testing window when the circuit breaker is intentionally triggered. Complete these tests when the BME status shows mint_status_halt_cr.

Circuit Breaker Halt Overview: When the Collateralization Ratio (CR) drops below the halt threshold (90%), BME enters protective halt state:

  • Halt (CR < 90%): New mints blocked, burns still allowed
  • mints_allowed: false — AKT→ACT conversions blocked
  • refunds_allowed: true — ACT→AKT conversions always allowed

Key Principle: Circuit breaker halt is asymmetric — it blocks new ACT creation (mints) but always allows users to exit positions (burns).


Test 6.1: Verify Circuit Breaker Halt State Active

Objective: Confirm BME is in circuit breaker HALT state with appropriate status indicators

User Actions:

  1. Query BME status:

    Terminal window
    akash query bme status
  2. Note the key fields:

    • status — should show mint_status_halt_cr
    • collateral_ratio — should be below halt_threshold (0.90)
    • mints_allowed — should be false
    • refunds_allowed — should be true
  3. Query vault state for context:

    Terminal window
    akash query bme vault-state

Expected Results:

  • status: mint_status_halt_cr
  • collateral_ratio < 0.90
  • mints_allowed: false
  • refunds_allowed: true

Proof to Submit:

  • BME status output showing mint_status_halt_cr
  • Collateral ratio value (must be < 0.90)
  • mints_allowed: false and refunds_allowed: true

Test 6.2: Verify Mints Blocked During Halt

Objective: Confirm new AKT→ACT conversions are BLOCKED during circuit breaker halt

User Actions:

  1. Verify you have AKT to attempt mint:

    Terminal window
    akash query bank balances <your-address>
  2. Attempt to mint ACT:

    Terminal window
    akash tx bme mint-act 10000000uakt --from <wallet> -y
  3. Observe the error response

Expected Results:

  • Transaction FAILS with circuit breaker error
  • Error message indicates minting is blocked
  • Example error: circuit breaker is active

Proof to Submit:

  • Error message from failed mint-act attempt
  • BME status showing mints_allowed: false

Test 6.3: Verify Burns Work During Halt

Objective: Confirm ACT→AKT conversions (burns) still work during halt, allowing users to exit positions

User Actions:

  1. Verify you have ACT to burn:

    Terminal window
    akash query bank balances <your-address>

    Note your uact balance. If you have no ACT, you needed to mint before the halt window.

  2. Record pre-burn balances:

    Terminal window
    akash query bank balances <your-address>
  3. Attempt to burn ACT:

    Terminal window
    akash tx bme burn-act 1000000uact --from <wallet> -y
  4. Wait for epoch processing (~90 seconds):

    Terminal window
    sleep 90
  5. Check post-burn balances:

    Terminal window
    akash query bank balances <your-address>

Expected Results:

  • Transaction SUCCEEDS (not blocked by circuit breaker)
  • ACT balance decreased
  • AKT balance increased
  • Users can always exit their positions

Proof to Submit:

  • BME status showing refunds_allowed: true
  • Successful burn-act transaction hash
  • Balance changes showing ACT decreased, AKT increased

Note: If burn-act fails during halt despite refunds_allowed: true, please report this as a potential bug with the full error message.


Test 6.4: Verify Deployment Closure Works During Halt

Objective: Confirm users can close deployments and receive refunds during halt

User Actions:

  1. Have an active deployment (created before halt)

  2. Record pre-closure balances:

    Terminal window
    akash query bank balances <your-address>
  3. Close deployment:

    Terminal window
    akash tx deployment close --dseq <deployment-sequence> --from <wallet> -y
  4. Wait for epoch processing (~90 seconds):

    Terminal window
    sleep 90
  5. Check post-closure balances:

    Terminal window
    akash query bank balances <your-address>

Expected Results:

  • Deployment closure SUCCEEDS
  • AKT balance increased (refund from unused escrow)
  • Users can exit deployments during halt

Proof to Submit:

  • Successful deployment close transaction output
  • Balance changes showing AKT refund received

Test 6.5: Verify Existing Deployments Continue During Halt

Objective: Confirm running deployments are not interrupted by halt state

User Actions:

  1. Have an active deployment running

  2. Query deployment status:

    Terminal window
    akash query deployment get --owner <your-address> --dseq <dseq>
  3. Query lease status:

    Terminal window
    akash query market lease list --owner <your-address>
  4. Verify workload is still running (if accessible)

Expected Results:

  • Deployment remains active
  • Lease remains active
  • Providers continue receiving settlements
  • Workload continues running

Proof to Submit:

  • Deployment status showing active state
  • Lease status showing active state

Summary

TestObjectiveKey Verification
6.1Halt state activestatus: halt_cr, CR < 90%, mints_allowed: false
6.2Mints blockedmint-act FAILS with circuit breaker error
6.3Burns workburn-act succeeds, users can exit
6.4Deployment closure worksusers can close and get refund
6.5Existing deployments continuerunning workloads unaffected

Important Notes:

  • All tests require mint_status_halt_cr state (CR < 90%)
  • Mint ACT before the halt window starts if you need ACT for burn tests
  • Create deployments before halt if testing closure during halt
  • Compare results with Category 7 (Warning state) to validate threshold behavior