Deployment Creation

BME Deployment Flow:

  1. Mint ACT first: User converts AKT to ACT via akash tx bme mint-act
  2. Wait for epoch: ACT appears in balance after ~1 minute
  3. Create deployment: SDL pricing and deposit must use uact (not uakt)
  4. Escrow funded with ACT: User’s ACT balance decreases

CRITICAL: SDL Pricing Change With BME enabled, SDL pricing must be specified in uact instead of uakt. Example:

profiles:
compute:
web:
resources:
cpu:
units: 0.5
memory:
size: 512Mi
storage:
size: 1Gi
placement:
dcloud:
pricing:
web:
denom: uact # <-- Must be uact, not uakt
amount: 1000

ACT Minting Delay ACT mints are processed in epochs (default: every 10 blocks). After akash tx bme mint-act, the ACT will NOT appear in your bank balance immediately. Wait ~1 minute (10 blocks × ~6 sec/block) then check balance.

Required Tools

CLI Deployment Guide: For detailed deployment instructions, see: https://akash.network/docs/developers/deployment/cli/

⚠️ Important: Close all test deployments when Category 1 testing is complete to avoid unnecessary escrow drain.


Test 1.1: Create Standard Deployment

Objective: Verify complete deployment lifecycle from ACT minting through active lease, validating BME state at each step

Preconditions:

  • Provider is online and bidding
  • User has AKT balance (from faucet)
  • provider-services binary installed

Step 1.1.1: Mint ACT (Required Before Deployment)

Background: With BME, deployments require ACT for escrow deposits. Users must first convert AKT to ACT.

User Actions:

  1. Mint ACT from AKT:

    Terminal window
    akash tx bme mint-act 100000000uakt --from <wallet> -y

    (This converts 100 AKT to ACT)

  2. Wait for epoch processing (~1 minute):

    Terminal window
    sleep 60
  3. Verify ACT appeared in balance:

    Terminal window
    akash query bank balances <user-address>

Expected Results:

  • AKT balance decreased by ~100 AKT
  • ACT balance appears (amount = 100 × oracle_price)

Step 1.1.2: Record Pre-Deployment Baseline

User Actions:

  1. Record baseline state:
    Terminal window
    akash query bank balances <user-address>
    akash query bme vault-state
    akash query oracle prices | head -n 15

Record These Values:

MetricBaseline Value
User AKT Balance_______
User ACT Balance_______
VaultAKT_______
OutstandingACT_______
RemintCredits_______
Oracle Price (AKT/USD)_______

Step 1.1.3: Create Deployment

User Actions:

  1. Ensure SDL file (deploy.yml) has uact pricing:

    placement:
    akash:
    pricing:
    web:
    denom: uact # MUST be uact
    amount: 100000
  2. Submit deployment transaction with uact deposit:

    Terminal window
    akash tx deployment create deploy.yml \
    --from <wallet> \
    --deposit 5000000uact \
    -y
  3. Note the DSEQ (deployment sequence) from output

  4. Verify deployment created:

    Terminal window
    akash query deployment get --owner <user-address> --dseq <dseq>

Expected Results:

  • Transaction succeeds
  • Deployment state shows active
  • Order created for the deployment

Step 1.1.4: Accept Bid and Create Lease

User Actions:

  1. Wait 10-30 seconds for provider to bid, then query bids:

    Terminal window
    akash query market bid list --owner <user-address> --dseq <dseq>
  2. Accept the bid (creates lease):

    Terminal window
    akash tx market lease create \
    --dseq <dseq> \
    --provider <provider-address> \
    --from <wallet> \
    -y
  3. Verify lease created:

    Terminal window
    akash query market lease list --owner <user-address> --dseq <dseq>

Expected Results:

  • At least one bid appears
  • Lease state shows active

Step 1.1.5: Send Manifest

Note: This step requires the provider-services binary. Download from: https://github.com/akash-network/provider/releases

User Actions:

  1. Send manifest to provider:

    Terminal window
    provider-services send-manifest deploy.yml \
    --dseq <dseq> \
    --provider <provider-address> \
    --from <wallet>
  2. Verify deployment is running:

    Terminal window
    akash query deployment get --owner <user-address> --dseq <dseq>

Expected Results:

  • Manifest send shows status: PASS
  • Deployment is active and running

Step 1.1.6: Post-Deployment Validation

User Actions:

  1. Query updated state:
    Terminal window
    akash query bank balances <user-address>
    akash query bme vault-state

Expected Results:

  • User ACT balance decreased by deposit amount (~5 ACT)
  • User AKT balance unchanged (minus gas fees)
  • Deployment escrow shows funded balance in ACT

Key Insight: BME conversion (AKT → ACT) happens at mint time (Step 1.1.1), not at deployment time. Deployment simply uses the user’s existing ACT balance.

⚠️ Important: Close this deployment when testing is complete:

Terminal window
akash tx deployment close --dseq <dseq> --from <wallet> -y

Proof to Submit:

  • Pre-deployment ACT balance
  • Deployment create tx hash and DSEQ (from tx output)
  • Lease status showing service ready:
    Terminal window
    provider-services lease-status --dseq <dseq> --provider <provider> --from <wallet>
  • Post-deployment ACT balance (confirming escrow deducted)

Test 1.2: Create Deployment - Insufficient Funds

Objective: Verify deployment fails gracefully with insufficient ACT balance

User Actions:

  1. Check current ACT balance:

    Terminal window
    akash query bank balances <user-address>

    Note the ACT balance (or confirm it’s 0)

  2. Attempt deployment with deposit exceeding ACT balance:

    Terminal window
    akash tx deployment create deploy.yml \
    --from <wallet> \
    --deposit 999999999999uact \
    -y
  3. Observe error

Expected Results:

  • Transaction fails with insufficient funds error
  • No ACT leaves wallet
  • BME vault state unchanged
  • No deployment created

Proof to Submit:

  • Current ACT balance (showing amount is less than attempted deposit)
  • Error message from deployment attempt: deposit invalid: insufficient balance

Test 1.3: Create Deployment - Minimum Deposit

Objective: Verify deployment works with minimum viable deposit amount

User Actions:

  1. Ensure wallet has ACT balance (mint if needed):

    Terminal window
    akash tx bme mint-act 50000000uakt --from <wallet> -y
    sleep 60
  2. Create deployment with minimum deposit:

    Terminal window
    akash tx deployment create deploy.yml \
    --from <wallet> \
    --deposit 1000000uact \
    -y
  3. Complete lease creation and manifest send (see Test 1.1 for full workflow)

  4. Verify deployment is active:

    Terminal window
    akash query deployment get --owner <user-address> --dseq <dseq>

Expected Results:

  • Deployment created successfully with minimal deposit
  • Lease created (if provider bids)
  • Deployment may close quickly if escrow depletes rapidly

Note: Minimum deposit depends on provider pricing. Very low deposits may result in immediate escrow depletion.

⚠️ Important: Close deployment when done:

Terminal window
akash tx deployment close --dseq <dseq> --from <wallet> -y

Proof to Submit:

  • Deployment create tx hash with minimum deposit amount (e.g., 1000000uact)
  • Deployment state showing active:
    Terminal window
    akash query deployment get --owner <user-address> --dseq <dseq> | head -n 10
  • Bid received (showing provider address and price):
    Terminal window
    akash query market bid list --owner <user-address> --dseq <dseq> | head -n 20

Test 1.4: Multiple Deployments from Single Wallet

Objective: Verify account-level ACT pool funds multiple deployments correctly


Step 1.4.1: Setup and Baseline

User Actions:

  1. Ensure wallet has sufficient AKT (500 AKT from faucet)

  2. Mint ACT for all deployments:

    Terminal window
    akash tx bme mint-act 200000000uakt --from <wallet> -y

    (This converts 200 AKT to ACT — enough for multiple deployments)

  3. Wait for epoch processing (~1 minute):

    Terminal window
    sleep 60
  4. Record initial state:

    Terminal window
    akash query bank balances <user-address>
    akash query bme vault-state

Step 1.4.2: Create Deployment A

User Actions:

  1. Create first deployment:

    Terminal window
    akash tx deployment create deploy.yml \
    --from <wallet> \
    --deposit 5000000uact \
    -y
  2. Complete lease creation and manifest send (see Test 1.1)

  3. Record DSEQ-A: _______


Step 1.4.3: Create Deployment B

User Actions:

  1. Create second deployment:

    Terminal window
    akash tx deployment create deploy.yml \
    --from <wallet> \
    --deposit 5000000uact \
    -y
  2. Complete lease creation and manifest send

  3. Record DSEQ-B: _______


Step 1.4.4: Create Deployment C

User Actions:

  1. Create third deployment:

    Terminal window
    akash tx deployment create deploy.yml \
    --from <wallet> \
    --deposit 5000000uact \
    -y
  2. Complete lease creation and manifest send

  3. Record DSEQ-C: _______


Step 1.4.5: Final State Validation

User Actions:

Terminal window
akash query bank balances <user-address>
akash query bme vault-state
akash query deployment list --owner <user-address>
akash query market lease list --owner <user-address>

Expected Results:

  • User ACT balance decreased by ~15 ACT (3 × 5 ACT deposits)
  • All three deployments active with leases
  • Each deployment independently accounted
  • Cumulative vault state reflects the initial mint operation

⚠️ Important: Close all deployments when testing is complete:

Terminal window
akash tx deployment close --dseq <dseq-a> --from <wallet> -y
akash tx deployment close --dseq <dseq-b> --from <wallet> -y
akash tx deployment close --dseq <dseq-c> --from <wallet> -y

Proof to Submit:

  • Pre-test ACT balance
  • Both deployments showing active (query each individually):
    Terminal window
    akash query deployment get --owner <user-address> --dseq <dseq-a> | head -n 10
    akash query deployment get --owner <user-address> --dseq <dseq-b> | head -n 10
  • Post-test ACT balance (confirming multiple escrow deposits deducted)