Integrating Akash Network: Decentralized Computing for Web3

Deploying AI inference and blockchain nodes in the cloud often hits high costs and infrastructure complexity. We integrate Akash Network into your infrastructure to move compute tasks to a decentralized provider network. Our team delivers turnkey—from audit and SDL manifests to deployment and ongoing support—ensuring a reliable and cost-effective solution.

Blockchain Development Services

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1335
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1293
  • B2B Advance company logo design
    B2B Advance company logo design
    738
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1031
  • AIDER company logo development
    AIDER company logo development
    978
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1087

We integrate Akash Network into your infrastructure to host AI inference (LLM, Stable Diffusion), blockchain nodes (Ethereum, Cosmos), DApp backends, and compute tasks on a decentralized cloud. Providers offer GPU/CPU power; clients manage workloads via SDL manifests; payment in AKT. Key advantage: support for standard Docker containers without custom runtime, simplifying migration of existing applications. Typical scenario: an ML team needs to deploy an inference server for Llama 3 on GPU, but AWS or GCP are expensive, and Kubernetes is overkill. Akash allows running the same Docker image on decentralized providers with savings up to 50% and full blockchain control.

How the SDL Manifest Works and Why It's Critical

Stack Definition Language (SDL) is a YAML format for describing deployments. It looks like docker-compose but has differences that can break deployment without preparation. Here's an example manifest for an inference server:

---
version: "2.0"
services:
  inference-api:
    image: your-org/llm-inference:sha256-abc123
    expose:
      - port: 8080
        as: 80
        to:
          - global: true
    env:
      - MODEL_PATH=/models/llama-7b
      - MAX_CONCURRENT=4
    resources:
      cpu:
        units: 4.0
      memory:
        size: 16Gi
      storage:
        - size: 50Gi
          attributes:
            persistent: true
            class: beta3
profiles:
  compute:
    inference-api:
      resources:
        cpu:
          units: 4
        memory:
          size: 16Gi
        gpu:
          units: 1
          attributes:
            vendor: nvidia:
              - model: rtx3090
      placement:
        dcloud:
          pricing:
            inference-api:
              denom: uakt
              amount: 1000
deployment:
  inference-api:
    dcloud:
      profile: inference-api
      count: 1
---

Akash Network Documentation highlights the importance of persistent: true for data surviving restarts. Without it, the container starts fresh when moved to another provider. Use class: beta3 (NVMe) for high IOPS — critical for ML models and databases.

SDL pitfalls:

  • persistent storage — mandatory for data that must survive container restarts. Without it, ephemeral storage.
  • Storage class — beta3 (NVMe) is significantly faster than beta2 (HDD). IOPS difference is critical for DBs and ML models.
  • Image pinning — use digest (sha256) instead of latest tag. Providers cache images, so latest may differ.
  • GPU resources — not available on all providers. Specifying exact model (rtx3090, a100) narrows the pool but guarantees compatibility.
  • Missing health check — deployment gets no IP, and you'll pay even for a non-working service.
  • Wrong port expose — the application will be inaccessible externally.

How to Programmatically Deploy to Akash

For automation from your application, we use the Akash JavaScript SDK or direct REST API calls (Cosmos-based). Below is an example of creating a deployment via SDK:

import { Registry, DirectSecp256k1HdWallet } from "@cosmjs/proto-signing";
import { SigningStargateClient } from "@cosmjs/stargate";
import { MsgCreateDeployment } from "@akashnetwork/akash-api/akash/deployment/v1beta3";

const AKASH_RPC = "https://rpc.akashnet.net:443";
const AKASH_DENOM = "uakt";

async function createDeployment(sdlContent: string, walletMnemonic: string) {
  const wallet = await DirectSecp256k1HdWallet.fromMnemonic(walletMnemonic, {
    prefix: "akash",
  });
  const [account] = await wallet.getAccounts();
  const client = await SigningStargateClient.connectWithSigner(AKASH_RPC, wallet, {
    registry: new Registry(/* akash proto types */),
  });
  const dseq = Math.floor(Date.now() / 1000);
  const msg = {
    typeUrl: "/akash.deployment.v1beta3.MsgCreateDeployment",
    value: MsgCreateDeployment.fromPartial({
      id: {
        owner: account.address,
        dseq: BigInt(dseq),
      },
      groups: parseSDLGroups(sdlContent),
      deposit: {
        denom: AKASH_DENOM,
        amount: "5000000"
      },
    }),
  };
  const result = await client.signAndBroadcast(
    account.address,
    [msg],
    {
      amount: [{ denom: AKASH_DENOM, amount: "20000" }],
      gas: "800000"
    }
  );
  return { dseq, txHash: result.transactionHash };
}

After deployment creation, an auction starts: providers place bids, the client selects the best and creates a lease. This is an asynchronous process — you need to subscribe to blockchain events (WebSocket or polling).

async function watchBidsAndCreateLease(dseq: number, ownerAddress: string) {
  const bids = await pollBids(dseq, ownerAddress, { timeoutMs: 120000 });
  if (bids.length === 0) throw new Error("No bids received");
  const bestBid = bids.sort((a, b) => Number(a.bid.price.amount) - Number(b.bid.price.amount))[0];
  await createLease(bestBid.bid.bidId, wallet);
  await sendManifestToProvider(bestBid.bid.bidId.provider, dseq, sdlContent);
}

How to Manage the Deployment Lifecycle

After lease creation, the deployment is managed via the Provider Service API — HTTP endpoints of the provider. The endpoint is obtained from on-chain provider data.

async function getDeploymentStatus(providerAddress: string, dseq: number, owner: string) {
  const providerInfo = await queryProviderInfo(providerAddress);
  const providerHost = providerInfo.hostUri;
  const response = await fetch(
    `${providerHost}/lease/${owner}/${dseq}/1/1/status`,
    {
      headers: {
        Authorization: `Bearer ${await getProviderToken()}`
      }
    }
  );
  return response.json();
}

For production, we integrate monitoring via Prometheus/Grafana, running a sidecar container in the same deployment. We regularly check the deposit balance — when exhausted, the deployment terminates without recovery. To avoid this, we set up automatic refills.

Which Workloads Are Best Suited for Akash?

Workload Type Requirements Recommendations
AI inference GPU, persistent storage for models Init-container for downloading, health check with 5–10 minute timeout
Blockchain nodes 1+ TB persistent, UDP for P2P Use snapshot bootstrap, specify proto: UDP in expose
Stateless backends Minimal resources Horizontal scaling via count, external load balancer
Databases Persistent, I/O Only with replication; critical data outside Akash

Pricing and Cost Control

Cost is denominated in uAKT per block (~6 seconds). For pre-deployment estimation, use the Cloudmos API: send the SDL and get the price per block. Typical price for ML inference with RTX 3090 GPU is a few tens of cents per hour, offering significant savings compared to cloud providers. For production, we configure automatic deposit refills — otherwise the deployment shuts down without warning.

Comparison of Manual and Programmatic Deployment

Method Setup Time Automation Scaling
Manual (CLI) 1–3 days None Manual
Programmatic (SDK) 1–2 weeks Full Event-driven
Full (EVM integration) 3–5 weeks On-chain escrow Via smart contract

What's Included in the Work

  • Analysis of your application and preparation of the SDL manifest
  • Development of deployment scripts (CLI or programmatic integration)
  • Monitoring and alerting setup
  • Integration with EVM contracts (optional)
  • Documentation and team training
  • Post-launch support

Experience: 5+ years in Web3, 30+ projects in decentralized computing integration. We use Foundry, Cosmos SDK, and TypeScript.

Integration Timelines

  • Basic (manual SDL, CLI) — 1 to 3 days
  • Programmatic (automated deployment, monitoring) — 1 to 2 weeks
  • Full (EVM contract, escrow, lifecycle) — 3 to 5 weeks

We'll evaluate your project within 1–2 business days. Contact us to discuss details. Get a consultation on Akash integration.