Two-Step Refund Flow: Converting deployment escrow back to AKT requires two steps:
- Close Deployment → Remaining ACT escrow returns to user’s wallet
- Burn ACT → User converts ACT to AKT via
akash tx bme burn-act
Important: Closing a deployment returns ACT (not AKT). The price-related behavior (remint credits, inflation) occurs during the burn-act step, not during closure.
Test 2.1: Close Deployment - ACT Escrow Returned
Objective: Verify closing deployment returns ACT escrow to user (not AKT)
User Actions:
-
Record pre-deployment balances:
Terminal window akash query bank balances <user-address>Note the ACT balance.
-
Create deployment with ACT deposit:
Terminal window akash tx deployment create deploy.yml --deposit 20000000uact --from <wallet> -y -
Complete lease creation (see Category 1 for workflow):
Terminal window # Wait for bidsleep 10akash query market bid list --owner <user-address> --dseq <dseq> | head -n 20# Create leaseakash tx market lease create --dseq <dseq> --gseq 1 --oseq 1 \--provider <provider-address> --from <wallet> -y -
Record mid-state (ACT should have decreased):
Terminal window akash query bank balances <user-address> -
Let deployment run briefly (~1-2 minutes)
-
Close deployment:
Terminal window akash tx deployment close --dseq <dseq> --from <wallet> -y -
Query final state:
Terminal window akash query bank balances <user-address>
Expected Results:
- After deployment creation: User ACT balance decreased by deposit amount
- After closure: User ACT balance increased (escrow returned minus compute used)
- User AKT balance unchanged (minus gas fees)
- ACT returned, not AKT — this is expected behavior
Proof to Submit:
- Pre-deployment ACT balance
- Post-closure ACT balance (showing ACT returned)
- Deployment close tx hash
Test 2.2: Burn ACT → AKT (Basic Operation)
Objective: Verify user can burn ACT to receive AKT
User Actions:
-
Record pre-burn state:
Terminal window akash query bank balances <user-address>akash query bme vault-state -
Burn ACT:
Terminal window akash tx bme burn-act 50000000uact --from <wallet> -y -
Wait for epoch processing (~90 seconds):
Terminal window sleep 90 -
Query final state:
Terminal window akash query bank balances <user-address>akash query bme vault-state
Expected Results:
- User ACT decreased by burn amount
- User AKT increased (based on current oracle price)
- Vault
total_burned.uactincreased - Remint credits used (if available)
Proof to Submit:
- Pre-burn and post-burn balances
- Vault state showing total_burned increased
Test 2.3: Burn ACT with Price Movement
Objective: Verify correct AKT payout based on price change between mint and burn
Why Fresh Account: Using a dedicated account makes the math transparent — you can verify exact amounts without interference from prior balances.
User Actions:
Step 1: Setup
# Create dedicated test accountakash keys add burn-test-price
# Get the addressakash keys show burn-test-price -aFund account via testnet faucet: https://faucet.dev.akash.pub (500 AKT)
Step 2: Verify Funded
akash query bank balances $(akash keys show burn-test-price -a)Step 3: Capture Price at Mint Time (P1)
echo "=== MINT TIME ==="echo "Time: $(date -u)"akash query oracle prices | head -n 15Write down P1 price.
Step 4: Mint ACT
akash tx bme mint-act 100000000uakt --from burn-test-price -y
# Wait for epochsleep 90
# Check ACT receivedakash query bank balances $(akash keys show burn-test-price -a)Write down ACT received.
Step 5: Wait for Price Movement (~5+ minutes)
sleep 300Step 6: Capture Price at Burn Time (P2)
echo "=== BURN TIME ==="echo "Time: $(date -u)"akash query oracle prices | head -n 15Write down P2 price.
Step 7: Burn All ACT
# Use exact ACT amount from Step 4akash tx bme burn-act <ACT_AMOUNT>uact --from burn-test-price -y
# Wait for epochsleep 90Step 8: Check Final Balance
akash query bank balances $(akash keys show burn-test-price -a)Evaluating Results:
If P2 > P1 (price increased):
- User receives fewer AKT than originally sent
- This is expected: same USD value, but AKT is worth more
- Example: Sent 100 AKT at \(0.32 → received ~31.25 ACT → burned at\)0.35 → receive ~89.3 AKT
If P2 < P1 (price decreased):
- User receives more AKT than originally sent
- This is expected: same USD value, but AKT is worth less
- Example: Sent 100 AKT at \(0.32 → received ~31.25 ACT → burned at\)0.29 → receive ~107.8 AKT
Key Verification:
The AKT received should equal: ACT_burned ÷ P2
Either price direction is valid for this test — the goal is to verify the math is correct based on current oracle price.
Proof to Submit:
- P1 (price at mint time)
- P2 (price at burn time)
- ACT received from mint
- Final AKT balance
- Calculation showing AKT received matches expected value based on P2
Summary
| Test | Scenario | Key Verification |
|---|---|---|
| 2.1 | Close deployment | ACT returned (not AKT) |
| 2.2 | Basic burn | ACT → AKT works |
| 2.3 | Price movement | AKT returned matches current price (fewer if up, more if down) |