diff --git a/src/content/About_Page/_pricing/index.md b/src/content/About_Page/_pricing/index.md index 0b7dfff9d..f0ab0893a 100644 --- a/src/content/About_Page/_pricing/index.md +++ b/src/content/About_Page/_pricing/index.md @@ -8,4 +8,4 @@ disableTableOfContents: true contentWidth: "full" --- -Akash employs a unique "Reverse Auction" system. Network deployers specify the preferred price for their desired resources, and providers compete to fulfill the request. This approach consistently yields substantially lower costs and greater choice while maintaining self-sovereign control. Akash operates as an open-source, community-driven platform, powered by a L1 blockchain and the AKT utility token. +Akash employs a unique "Reverse Auction" system. Network deployers specify the preferred price for their desired resources, and providers compete to fulfill the request. This approach consistently yields substantially lower costs and greater choice while maintaining self-sovereign control. Akash operates as an open-source, community-driven platform, powered by a L1 blockchain and the AKT utility token. With BME, deployment pricing and provider payouts use ACT (USD-pegged compute credit); AKT is used for staking, governance, and gas. diff --git a/src/content/Docs/api-documentation/getting-started/index.md b/src/content/Docs/api-documentation/getting-started/index.md index 1f738c11c..73da30263 100644 --- a/src/content/Docs/api-documentation/getting-started/index.md +++ b/src/content/Docs/api-documentation/getting-started/index.md @@ -13,7 +13,7 @@ Choose the right API for your use case: - **Blockchain REST/RPC** — Query data from the chain directly (gRPC, REST, RPC on an Akash node). Use this when your app needs to read chain state or submit transactions to the blockchain. - **Console API** — Query indexed data (stats, deployments, providers) and manage deployments for Console managed wallets. This is **not** a node: it serves aggregated/indexed data and managed-wallet flows, not raw chain queries. -- **Chain SDK** — Integrate with Akash in Go or TypeScript/JavaScript. Use your own wallet (AKT/USDC) or custodial flows. +- **Chain SDK** — Integrate with Akash in Go or TypeScript/JavaScript. Use your own wallet; deployment funding is in **ACT** (credit card or AKT→ACT); top-up with AKT when circuit breaker is in effect. --- @@ -26,7 +26,7 @@ Query blockchain state and submit transactions via an Akash node. Use this when ## Akash Blockchain SDK -Build deployment and provider management into your app with the official chain SDK (Go and TypeScript/JavaScript). Integrate with the blockchain using your own wallet or custodial wallets; pay with AKT or USDC. +Build deployment and provider management into your app with the official chain SDK (Go and TypeScript/JavaScript). Integrate with the blockchain using your own wallet or custodial wallets; fund deployments with **ACT** (mint from AKT or via credit card); keep AKT for gas. - **[Akash SDK](/docs/api-documentation/sdk)** - Official Go and JavaScript/TypeScript SDKs - **[Installation Guide](/docs/api-documentation/sdk/installation)** - Get started with SDK installation @@ -59,7 +59,7 @@ The Console API serves **indexed data** (providers, stats, deployments) and **ma ### When to use the Akash Blockchain SDK - Full blockchain integration with your own wallet -- Pay with AKT or USDC cryptocurrency +- Fund deployments with ACT (USD-pegged); use AKT for gas and for ACT top-up when circuit breaker in effect - Build deployment automation tools - Create custom deployment workflows - Build provider management dashboards @@ -86,7 +86,7 @@ The Console API serves **indexed data** (providers, stats, deployments) and **ma **Choose your integration method:** - **Query the chain directly (node)?** → [Node API Layer](/docs/node-operators/architecture/api-layer) - gRPC, REST, RPC on an Akash node -- **Blockchain integration in code?** → [Use the Blockchain SDK](/docs/api-documentation/sdk) - Pay with AKT/USDC, manage your own wallet +- **Blockchain integration in code?** → [Use the Blockchain SDK](/docs/api-documentation/sdk) - Fund with ACT (or AKT when circuit breaker), manage your own wallet - **Credit card deployments?** → [Managed Wallet API](/docs/api-documentation/console-api) - No wallet needed, pay with credit card via Console - **Indexed network data (providers, GPU, stats)?** → [Console API — Network Data](/docs/api-documentation/rest-api) - Public endpoints, not a node diff --git a/src/content/Docs/developers/contributing/code-conventions/index.md b/src/content/Docs/developers/contributing/code-conventions/index.md index 22384fcef..4eae74f73 100644 --- a/src/content/Docs/developers/contributing/code-conventions/index.md +++ b/src/content/Docs/developers/contributing/code-conventions/index.md @@ -235,7 +235,7 @@ func CreateDeployment(ctx context.Context, sdl []byte) (*Deployment, error) // **Good: Explain complex logic // Calculate bid price using the formula: // price = (cpu * cpuPrice) + (memory * memPrice) + (storage * storagePrice) -// Prices are in uakt per unit per block. +// Prices are in uact per unit per block (ACT is the deployment/payment denom). price := calculateBidPrice(resources) // **Bad: Obvious comments diff --git a/src/content/Docs/developers/contributing/development-environment/index.md b/src/content/Docs/developers/contributing/development-environment/index.md index 2613a70a6..53e582e3c 100644 --- a/src/content/Docs/developers/contributing/development-environment/index.md +++ b/src/content/Docs/developers/contributing/development-environment/index.md @@ -800,7 +800,7 @@ profiles: akash: pricing: web: - denom: uakt + denom: uact amount: 1000 deployment: web: diff --git a/src/content/Docs/developers/contributing/documentation-guide/index.md b/src/content/Docs/developers/contributing/documentation-guide/index.md index b04e66b58..543a2e63b 100644 --- a/src/content/Docs/developers/contributing/documentation-guide/index.md +++ b/src/content/Docs/developers/contributing/documentation-guide/index.md @@ -363,7 +363,7 @@ Use for important information: ```markdown **Note:** This feature requires provider-services v0.10.0 or later. -**Warning:** This command will close your deployment and refund remaining escrow. +**Warning:** This command will close your deployment and refund remaining escrow (ACT). **Tip:** Use `--dry-run` to preview changes without applying them. @@ -534,7 +534,7 @@ Content... Before you begin, ensure you have: - Go 1.25.0 or later installed -- An Akash wallet with at least 5 AKT +- An Akash wallet with ACT for deployment (and AKT for gas); e.g. at least 5 ACT + some AKT - Basic command-line knowledge **Not set up yet?** See [Development Environment](/docs/developers/contributing/development-environment) diff --git a/src/content/Docs/developers/deployment/akash-console/getting-started/index.md b/src/content/Docs/developers/deployment/akash-console/getting-started/index.md index 0eb607b24..6ad2483a9 100644 --- a/src/content/Docs/developers/deployment/akash-console/getting-started/index.md +++ b/src/content/Docs/developers/deployment/akash-console/getting-started/index.md @@ -123,12 +123,12 @@ Use the SDL Builder or choose a template, then customize your configuration: Set the initial deposit for your deployment: ![Deployment Review](/images/docs/console/8-deployment-review.png) -*Set your deposit amount - this is held in escrow and refunded when you close the deployment* +*Set your deposit amount - this is held in escrow (ACT) and refunded when you close the deployment* -The deposit: -- Is held in escrow to pay for your deployment +The deposit (in **ACT**): +- Is held in escrow to pay for your deployment; create deployments with ACT only (or AKT when circuit breaker is in effect) - Gets refunded when you close the deployment -- Automatically tops up if running low +- You can top up with ACT (or AKT when circuit breaker is active) if running low #### 3. Select a Provider Bid @@ -224,7 +224,7 @@ Stop your deployment and reclaim your deposit: 1. Select your deployment 2. Click **"Close"** or **"Stop"** 3. Confirm the action -4. Your deployment will stop and remaining escrow will be refunded +4. Your deployment will stop and remaining escrow (ACT) will be refunded ![Deployment Close Confirmation](/images/docs/console/17-deployment-close.png) *Confirm deployment closure and reclaim your deposit* @@ -234,14 +234,14 @@ Stop your deployment and reclaim your deposit: ### Manage Billing and Credits -View your trial credits and add payment methods: +View your trial credits and add payment methods (credits are in **ACT**): ![Billing and Credits](/images/docs/console/18-billing-credits.png) *Manage your trial credits, payment methods, and billing* You can: -- Check remaining trial credits -- Add or update credit card +- Check remaining trial credits (ACT) +- Add or update credit card (funds ACT) - View spending history - Convert to pay-as-you-go after trial expires diff --git a/src/content/Docs/developers/deployment/akash-console/with-wallet/index.md b/src/content/Docs/developers/deployment/akash-console/with-wallet/index.md index 66a694d83..acfc7d6c7 100644 --- a/src/content/Docs/developers/deployment/akash-console/with-wallet/index.md +++ b/src/content/Docs/developers/deployment/akash-console/with-wallet/index.md @@ -100,7 +100,7 @@ After connecting, you'll see: ### Main Dashboard - **Active Deployments** - Running deployments and status - **Quick Actions** - Deploy button, add funds, settings -- **Account Overview** - Balance, escrow, and spending +- **Account Overview** - Balance, escrow (ACT), and spending ![Deployments Dashboard](/images/docs/console/15-deployments-dashboard.png) *Your Console dashboard showing deployments and quick actions* @@ -143,12 +143,12 @@ After connecting, you'll see: After clicking "Create Deployment": 1. **Set Deposit Amount** - - Default is usually fine (0.5-5 AKT depending on resources) - - This is held in escrow, refunded when you close - - Not a fee—just a security deposit + - Default is usually fine (in **ACT** depending on resources) + - This is held in escrow (ACT), refunded when you close + - Not a fee—just a security deposit. Use ACT only unless circuit breaker is in effect. ![Deposit Screen](/images/docs/console/wallet/6-deposit-amount-wallet.png) -*Set your deposit amount - held in escrow and refunded when you close* +*Set your deposit amount (ACT) - held in escrow and refunded when you close* 2. **Approve Transaction in Wallet** @@ -305,7 +305,7 @@ Stop your deployment and reclaim your deposit: 1. **Deposit (Escrow)** - Held while deployment runs - Fully refunded when you close - - Typical: 0.5 AKT + - Typical: deposit in ACT (e.g. ~5 ACT); gas in AKT 2. **Provider Fees** - Paid per block from your deposit @@ -320,11 +320,11 @@ Stop your deployment and reclaim your deposit: ### Cost Example **Simple web app (0.5 CPU, 512MB RAM, 512MB storage):** -- Deposit: 0.5 AKT (~$1-2, refundable) -- Cost: Often less than $5/month -- Gas: ~0.1 AKT total +- Deposit: in **ACT** (~$1-2 equivalent, refundable) +- Cost: Often less than $5/month (paid from ACT escrow) +- Gas: ~0.1 AKT total (network fees in AKT) -**Your 0.5 AKT deposit is held in escrow while hosting runs, and is fully refundable when you close the deployment.** +**Your deposit (ACT) is held in escrow while hosting runs and is fully refundable when you close the deployment. Use ACT only unless the circuit breaker is in effect.** --- @@ -332,10 +332,10 @@ Stop your deployment and reclaim your deposit: | Feature | Console with Wallet | Trial (Managed Wallet) | |---------|-------------------|----------------------| -| **Setup** | Need wallet + AKT | Just email + credit card | +| **Setup** | Need wallet + ACT (and AKT for gas) | Just email + credit card | | **Deployment Limit** | None (run forever) | 24 hours max | -| **Cost** | Pay with AKT | Pay with credit card | -| **Deposit** | 0.5 AKT (refundable) | Included in credits | +| **Cost** | Pay with ACT (mint from AKT or buy) | Pay with credit card (funds ACT) | +| **Deposit** | ACT (refundable) | Included in credits (ACT) | | **Control** | Full blockchain access | Managed by Console | | **Best For** | Crypto users | Beginners | @@ -343,10 +343,8 @@ Stop your deployment and reclaim your deposit: ## Common Questions -### "How much AKT do I need?" -**Answer:** Start with **5 AKT**: -- 0.5 AKT for deposit (refundable) -- Rest for provider payments and gas fees +### "How much do I need?" +**Answer:** Fund your deployment with **ACT** (deposit is in ACT, refundable). Keep some **AKT** for gas fees. You can get ACT by burning AKT or via credit card in Console. ### "Can I use trial AND wallet?" **Answer:** @@ -354,8 +352,8 @@ Stop your deployment and reclaim your deposit: - **Credit Card** - Once you add a credit card, you keep your trial credits but can't go back to trial-only mode - **Your Wallet** - Use your own Keplr/Leap wallet for production deployments with no limits -### "What if I run out of AKT in escrow?" -**Answer:** Your deployment will close automatically. Monitor your escrow balance and add more AKT if needed (click "Add Funds" on your deployment). +### "What if I run out of ACT in escrow?" +**Answer:** Your deployment will close automatically. Monitor your escrow balance and add more **ACT** if needed (click "Add Funds" on your deployment). When the circuit breaker is in effect, you can top up with **AKT** to keep deployments running; otherwise use ACT only. ### "My wallet isn't connecting" **Solution:** @@ -374,7 +372,7 @@ Stop your deployment and reclaim your deposit: ### "Deployment closed unexpectedly" **Possible causes:** -- Ran out of funds in escrow +- Ran out of ACT (or AKT when CB) in escrow - Provider went offline - Deployment configuration error @@ -385,7 +383,7 @@ Stop your deployment and reclaim your deposit: ## Tips for Success - **Start with templates** - Use Hello World for your first deployment -- **Monitor your escrow** - Keep an eye on your deposit balance +- **Monitor your escrow** - Keep an eye on your ACT deposit balance - **Check provider stats** - Choose providers with high uptime - **Use logs** - Logs are your best debugging tool - **Save your SDLs** - Keep copies of working configurations diff --git a/src/content/Docs/developers/deployment/akash-sdk/index.md b/src/content/Docs/developers/deployment/akash-sdk/index.md index 95fe7cf95..4e84fd444 100644 --- a/src/content/Docs/developers/deployment/akash-sdk/index.md +++ b/src/content/Docs/developers/deployment/akash-sdk/index.md @@ -29,7 +29,7 @@ const client = await AkashClient.create({ // Create deployment const deployment = await client.deployment.create({ sdl: mySDLConfig, - deposit: '5000000uakt' + deposit: '5000000uact' }) console.log('Deployment created:', deployment.dseq) diff --git a/src/content/Docs/developers/deployment/akash-sdl/advanced-features/index.md b/src/content/Docs/developers/deployment/akash-sdl/advanced-features/index.md index 0215ac49f..faa0e69c0 100644 --- a/src/content/Docs/developers/deployment/akash-sdl/advanced-features/index.md +++ b/src/content/Docs/developers/deployment/akash-sdl/advanced-features/index.md @@ -524,7 +524,7 @@ placement: region: us-west pricing: web: - denom: uakt + denom: uact amount: 100 eu-central: @@ -532,7 +532,7 @@ placement: region: eu-central pricing: web: - denom: uakt + denom: uact amount: 120 ``` @@ -553,7 +553,7 @@ placement: - akash1... # Required auditor pricing: web: - denom: uakt + denom: uact amount: 150 ``` @@ -576,7 +576,7 @@ placement: ssd: true pricing: web: - denom: uakt + denom: uact amount: 200 ``` @@ -847,16 +847,16 @@ profiles: - akash1365yvmc4s7awdyj3n2sav7xfx76adc6dnmlx63 pricing: frontend: - denom: uakt + denom: uact amount: 150 backend: - denom: uakt + denom: uact amount: 200 database: - denom: uakt + denom: uact amount: 250 cache: - denom: uakt + denom: uact amount: 100 deployment: diff --git a/src/content/Docs/developers/deployment/akash-sdl/best-practices/index.md b/src/content/Docs/developers/deployment/akash-sdl/best-practices/index.md index 312264b0c..97a0fb97b 100644 --- a/src/content/Docs/developers/deployment/akash-sdl/best-practices/index.md +++ b/src/content/Docs/developers/deployment/akash-sdl/best-practices/index.md @@ -79,17 +79,9 @@ memory: ## Cost Management -### Use USDC for Stable Pricing - -For predictable costs, use USDC instead of AKT: - -```yaml -pricing: - web: - denom: ibc/170C677610AC31DF0904FFE09CD3B5C657492170E7E52372E48756B71E56F2F1 - amount: 100 -``` +### Fund with ACT (Stable USD-Pegged Pricing) +Deployment funding uses **ACT** (USD-pegged compute credit). Fund your deployment with ACT (via Console credit card or by burning AKT to mint ACT). Use ACT for escrow unless the circuit breaker is in effect, in which case you can top up with AKT to keep deployments running. The network uses ACT (denom `uact`) for escrow and provider payouts. --- @@ -372,7 +364,7 @@ placement: datacenter: equinix # Specific datacenter pricing: web: - denom: uakt + denom: uact amount: 100 ``` @@ -396,7 +388,7 @@ placement: - akash1... # Required auditor pricing: web: - denom: uakt + denom: uact amount: 150 # May cost more for audited providers ``` @@ -448,7 +440,7 @@ placement: test: pricing: web: - denom: uakt + denom: uact amount: 10 # Sandbox tokens are free from faucet ``` diff --git a/src/content/Docs/developers/deployment/akash-sdl/index.md b/src/content/Docs/developers/deployment/akash-sdl/index.md index aeef1e16d..ee2d85e13 100644 --- a/src/content/Docs/developers/deployment/akash-sdl/index.md +++ b/src/content/Docs/developers/deployment/akash-sdl/index.md @@ -56,7 +56,7 @@ profiles: akash: pricing: web: - denom: uakt + denom: uact amount: 100 deployment: web: diff --git a/src/content/Docs/developers/deployment/akash-sdl/syntax-reference/index.mdx b/src/content/Docs/developers/deployment/akash-sdl/syntax-reference/index.mdx index 8e2982cd3..7e4920f37 100644 --- a/src/content/Docs/developers/deployment/akash-sdl/syntax-reference/index.mdx +++ b/src/content/Docs/developers/deployment/akash-sdl/syntax-reference/index.mdx @@ -69,7 +69,7 @@ profiles: region: us-west pricing: web: - denom: uakt + denom: uact amount: 100 deployment: @@ -318,7 +318,7 @@ placement: region: us-west pricing: # Required: max bid per service web: - denom: uakt + denom: uact amount: 100 # uakt per block (~6 sec) ``` @@ -403,7 +403,7 @@ profiles: akash: pricing: web: - denom: uakt + denom: uact amount: 100 deployment: web: diff --git a/src/content/Docs/developers/deployment/cli/common-tasks/index.md b/src/content/Docs/developers/deployment/cli/common-tasks/index.md index c9b7261c1..9815b487a 100644 --- a/src/content/Docs/developers/deployment/cli/common-tasks/index.md +++ b/src/content/Docs/developers/deployment/cli/common-tasks/index.md @@ -42,7 +42,7 @@ profiles: akash: pricing: web: - denom: uakt + denom: uact amount: 100 deployment: web: @@ -195,7 +195,7 @@ provider-services tx deployment close \ --from $AKASH_KEY_NAME ``` -**Note:** This closes the deployment and all associated leases. Funds in escrow are returned. +**Note:** This closes the deployment and all associated leases. Funds in escrow (ACT) are returned. Recommend funding deployments with ACT unless the circuit breaker is in effect. --- diff --git a/src/content/Docs/getting-started/core-concepts/index.md b/src/content/Docs/getting-started/core-concepts/index.md index cc751eb6a..50b705b2b 100644 --- a/src/content/Docs/getting-started/core-concepts/index.md +++ b/src/content/Docs/getting-started/core-concepts/index.md @@ -38,7 +38,7 @@ Stack Definition Language - a YAML file that describes your deployment: - How much you're willing to pay ### Escrow -Funds held to pay for your deployment. Provider is paid automatically per block from your escrow account. +Funds held to pay for your deployment. You fund escrow with **ACT** (USD-pegged compute credit; required when creating a deployment). You can top up with AKT when the circuit breaker is in effect. The provider is paid automatically per block from your escrow **in ACT**. --- @@ -57,7 +57,7 @@ Create a lease with the selected provider. Provider pulls your container image and starts your app. ### 5. Automatic Payment -Your escrow pays the provider per block (~6 seconds). +Your escrow pays the provider per block (~6 seconds) in **ACT**. --- diff --git a/src/content/Docs/getting-started/quick-start/index.md b/src/content/Docs/getting-started/quick-start/index.md index a50d3d27f..769d119ee 100644 --- a/src/content/Docs/getting-started/quick-start/index.md +++ b/src/content/Docs/getting-started/quick-start/index.md @@ -46,7 +46,7 @@ That's it! No crypto wallet, no blockchain setup, no installation required. Open your browser and go to **[console.akash.network](https://console.akash.network)** -You'll see a banner at the top: **"Credit Card payments are now available!"** +You'll see a banner at the top: **"Credit Card payments are now available!"** (credit card funds **ACT** for deployments.) --- @@ -101,7 +101,7 @@ Choose one of three signup options: To prevent abuse, Akash requires a credit card for identity verification. **You won't be charged during the trial.** -1. Fill in the payment form: +1. Fill in the payment form (used to fund **ACT** for deployments): - **Organization** (optional) - **Billing Address** (Full name, Country, Address) - **Card Information** (Card number, Expiration date, CVV) @@ -267,7 +267,7 @@ The Console dashboard shows: **Answer:** Your deployments will stop, but you can add more funds via credit card: 1. Click your balance at the top 2. Click **"Add Funds"** -3. Enter amount and complete payment via Stripe +3. Enter amount and complete payment via Stripe (funds **ACT**) 4. Your unused trial credits will be kept! ### "Can I use my own crypto wallet instead?" diff --git a/src/content/Docs/getting-started/what-is-akash/index.md b/src/content/Docs/getting-started/what-is-akash/index.md index 804ab5c9b..732946f7f 100644 --- a/src/content/Docs/getting-started/what-is-akash/index.md +++ b/src/content/Docs/getting-started/what-is-akash/index.md @@ -48,7 +48,7 @@ No single entity can shut down your application. Deploy anywhere, anytime. Access to high-end GPUs and compute at fraction of the cost. Perfect for AI/ML workloads. ### **Flexible Access** -Start with our **trial** (credit card, $100 free credits, 30 days) or go **permissionless** with your own wallet (no KYC, use AKT or USDC). +Start with our **trial** (credit card, $100 free credits in ACT, 30 days) or go **permissionless** with your own wallet (no KYC; fund deployments with **ACT**, or with AKT when the circuit breaker is in effect). **Note:** Trial deployments have a 24-hour maximum duration per deployment, but you can redeploy as many times as you want within your 30-day trial period. @@ -109,8 +109,8 @@ A **[lease](/docs/learn/core-concepts/providers-leases#lease-management)** is th ### SDL The **[Stack Definition Language (SDL)](/docs/developers/deployment/akash-sdl)** is a YAML format that describes your deployment—similar to Docker Compose. -### AKT -**AKT** is Akash's native cryptocurrency used for payments, staking, and governance. +### AKT and ACT +**AKT** is Akash's native token used for staking, governance, and gas. **ACT** is the USD-pegged compute credit used to fund deployments and pay providers; you get ACT by burning AKT or via credit card in Console. --- @@ -120,8 +120,8 @@ The **[Stack Definition Language (SDL)](/docs/developers/deployment/akash-sdl)** |---------|------------------|---------------|----------------| | **Cost** | High, fixed pricing | $100 free credits | Up to 85% cheaper, market-driven | | **Access** | Credit card + KYC | Credit card (KYC for verification) | No KYC, permissionless | -| **Payment** | Credit card monthly | Credit card | Crypto (AKT or USDC) | -| **Setup** | Complicated | Sign up in 10 minutes | Install wallet, buy AKT | +| **Payment** | Credit card monthly | Credit card (funds ACT) | Crypto (ACT; or AKT when circuit breaker) | +| **Setup** | Complicated | Sign up in 10 minutes | Install wallet, fund with ACT (or AKT when CB) | | **Deployment Limit** | None | 24 hours per deployment | None | | **Control** | Vendor lock-in | Choose your provider | Full blockchain control | | **Censorship** | Can be shut down | Censorship-resistant | Censorship-resistant | diff --git a/src/content/Docs/learn/core-concepts/deployments/index.md b/src/content/Docs/learn/core-concepts/deployments/index.md index 440a3c8ab..673045cdd 100644 --- a/src/content/Docs/learn/core-concepts/deployments/index.md +++ b/src/content/Docs/learn/core-concepts/deployments/index.md @@ -91,7 +91,7 @@ The **manifest** is the detailed deployment specification sent to the provider: **What you do:** - Write SDL file describing your application -- Ensure wallet has sufficient AKT/USDC (minimum 0.5 + gas fees) +- Ensure you have sufficient **ACT** (USD-pegged compute credit) to fund the deployment deposit (minimum ~5 ACT / 5,000,000 uact + gas fees in AKT). You can get ACT by burning AKT or via credit card in Console. - Choose network (mainnet or sandbox) **What happens:** @@ -137,9 +137,9 @@ Deployment #123456 (DSEQ) Deployment #123456 └─ Order #1 Status: OPEN - ├─ Bid from Provider A: 9000 uakt/block - ├─ Bid from Provider B: 8500 uakt/block - └─ Bid from Provider C: 9200 uakt/block + ├─ Bid from Provider A: 9000 uact/block + ├─ Bid from Provider B: 8500 uact/block + └─ Bid from Provider C: 9200 uact/block ``` ### Stage 4: Accept Bid & Create Lease @@ -162,7 +162,7 @@ Deployment #123456 Deployment #123456 Status: ACTIVE └─ Lease with Provider B - Price: 8500 uakt/block + Price: 8500 uact/block Status: ACTIVE ``` @@ -193,9 +193,10 @@ Deployment #123456 - Monitor escrow balance **Escrow payment:** +- Escrow is funded in **ACT** (uact). Providers are paid in **ACT** per block from your escrow. +- When the circuit breaker is active (new ACT mints paused), you can top up escrow with **AKT** to keep deployments running. Otherwise, use **ACT only** (recommended). ``` -Block 1: Escrow 5.0 AKT → Pay 0.00085 AKT → Remaining 4.99915 AKT -Block 2: Escrow 4.99915 AKT → Pay 0.00085 AKT → Remaining 4.99830 AKT +Block 1: Escrow 5.0 ACT → Pay 0.00085 ACT → Remaining 4.99915 ACT ...continues until deployment closed or escrow depleted ``` @@ -226,8 +227,8 @@ Deployment #123456 └─ Lease with Provider B Status: CLOSED Duration: 5000 blocks (~8.3 hours) - Total cost: 4.25 AKT - Refunded: 0.75 AKT + Total cost: 4.25 ACT + Refunded: 0.75 ACT ``` --- @@ -265,17 +266,17 @@ Deployment #123456 ### How Escrow Works -When you create a deployment, you fund an escrow account: +When you create a deployment, you fund an escrow account with **ACT only** (USD-pegged compute credit): -1. **Deposit:** You transfer AKT/USDC to escrow (minimum 0.5) -2. **Payments:** Provider automatically paid per block from escrow -3. **Refund:** When you close, unused escrow returned to your wallet +1. **Deposit:** You fund escrow with **ACT** (minimum ~5 ACT). Get ACT by burning AKT or via credit card in Console. When the circuit breaker is active, you can also top up with **AKT** to keep deployments alive—otherwise use **ACT only** (recommended). +2. **Payments:** Provider is automatically paid per block from escrow **in ACT**. +3. **Refund:** When you close, unused escrow (ACT) is returned to your wallet. Unused ACT can be refunded (burned back to AKT at current price) if you no longer need it. ### Escrow Calculations -**Formula:** +**Formula (amounts in ACT):** ``` -Cost per block = (bid_price) uakt +Cost per block = (bid_price) uact Blocks per hour = 600 (at 6 seconds per block) Blocks per day = 14,400 Blocks per month ≈ 432,000 @@ -283,18 +284,18 @@ Blocks per month ≈ 432,000 **Example:** ``` -Bid price: 10,000 uakt per block -Cost per hour: 10,000 × 600 = 6,000,000 uakt = 0.006 AKT -Cost per day: 0.006 × 24 = 0.144 AKT -Cost per month: 0.144 × 30 = 4.32 AKT +Bid price: 10,000 uact per block (1 ACT ≈ $1) +Cost per hour: 10,000 × 600 = 6,000,000 uact = 6 ACT +Cost per day: 6 × 24 = 144 ACT +Cost per month: 144 × 30 ≈ 4,320 ACT ``` **Escrow planning:** ``` Deployment duration: 7 days -Cost per day: 0.144 AKT -Total needed: 0.144 × 7 = 1.008 AKT -Recommended escrow: 1.5 AKT (48% buffer) +Cost per day: 144 ACT +Total needed: 144 × 7 = 1,008 ACT +Recommended escrow: ~1,500 ACT (buffer); fund with ACT unless circuit breaker in effect. ``` ### Monitoring Escrow @@ -309,10 +310,10 @@ Recommended escrow: 1.5 AKT (48% buffer) - Set reminders to check balance **Adding funds:** -- You can deposit additional AKT to existing escrow -- Use CLI: `provider-services tx deployment deposit` command +- You can top up escrow with **ACT** (recommended). When the circuit breaker is in effect, you can also add **AKT** to keep deployments running. +- Use CLI: `provider-services tx deployment deposit` (or equivalent for ACT) - Use Console: View deployment → Add funds -- Plan initial escrow generously to minimize need for top-ups +- Plan initial escrow generously; use **ACT only** unless the circuit breaker requires AKT top-up. --- diff --git a/src/content/Docs/learn/core-concepts/environment-secrets/index.md b/src/content/Docs/learn/core-concepts/environment-secrets/index.md index f33477f9c..51a7a7324 100644 --- a/src/content/Docs/learn/core-concepts/environment-secrets/index.md +++ b/src/content/Docs/learn/core-concepts/environment-secrets/index.md @@ -67,7 +67,7 @@ profiles: akash: pricing: web: - denom: uakt + denom: uact amount: 10000 deployment: @@ -731,16 +731,16 @@ profiles: akash: pricing: frontend: - denom: uakt + denom: uact amount: 10000 backend: - denom: uakt + denom: uact amount: 15000 database: - denom: uakt + denom: uact amount: 20000 cache: - denom: uakt + denom: uact amount: 5000 deployment: diff --git a/src/content/Docs/learn/core-concepts/gpu-deployments/index.md b/src/content/Docs/learn/core-concepts/gpu-deployments/index.md index 30ae378df..25bf32941 100644 --- a/src/content/Docs/learn/core-concepts/gpu-deployments/index.md +++ b/src/content/Docs/learn/core-concepts/gpu-deployments/index.md @@ -116,7 +116,7 @@ profiles: akash: pricing: gpu-app: - denom: uakt + denom: uact amount: 100000 # Price for compute + GPU deployment: @@ -782,10 +782,10 @@ profiles: akash: pricing: ollama: - denom: uakt + denom: uact amount: 100000 webui: - denom: uakt + denom: uact amount: 10000 deployment: diff --git a/src/content/Docs/learn/core-concepts/index.md b/src/content/Docs/learn/core-concepts/index.md index 4f3ad0b98..c78264510 100644 --- a/src/content/Docs/learn/core-concepts/index.md +++ b/src/content/Docs/learn/core-concepts/index.md @@ -16,7 +16,7 @@ This section provides detailed explanations of how Akash works, from basic deplo ## In This Section ### [Deployments & Lifecycle](/docs/learn/core-concepts/deployments) -Understanding deployments, orders, the marketplace flow, escrow accounts, and the complete deployment lifecycle. +Understanding deployments, orders, the marketplace flow, escrow (ACT funding and provider payouts; AKT top-up when circuit breaker in effect), and the complete deployment lifecycle. ### [Providers & Leases](/docs/learn/core-concepts/providers-leases) How providers work, bidding mechanics, lease creation and management, and choosing the right provider. diff --git a/src/content/Docs/learn/core-concepts/ip-leases/index.md b/src/content/Docs/learn/core-concepts/ip-leases/index.md index 4e9944bec..4b662e6e5 100644 --- a/src/content/Docs/learn/core-concepts/ip-leases/index.md +++ b/src/content/Docs/learn/core-concepts/ip-leases/index.md @@ -114,10 +114,10 @@ profiles: akash: pricing: web: - denom: uakt + denom: uact amount: 10000 web-endpoint: # IP endpoint pricing - denom: uakt + denom: uact amount: 10000 # Additional cost for IP deployment: @@ -211,10 +211,10 @@ profiles: akash: pricing: game-server: - denom: uakt + denom: uact amount: 15000 game-ip: - denom: uakt + denom: uact amount: 10000 ``` @@ -293,7 +293,7 @@ IP leases have **additional costs** beyond compute resources: - IP lease costs vary by provider - Typically ~$5-15/month additional - Specified in SDL under `ip_lease` pricing -- Paid from your escrow account like other resources +- Paid from your ACT escrow like other resources (providers are paid in ACT) ### Example Cost Calculation @@ -316,10 +316,10 @@ placement: akash: pricing: web: - denom: uakt + denom: uact amount: 10000 # Max for compute my-ip: - denom: uakt + denom: uact amount: 10000 # Max for IP endpoint ``` @@ -374,16 +374,16 @@ profiles: akash: pricing: frontend: - denom: uakt + denom: uact amount: 10000 backend: - denom: uakt + denom: uact amount: 10000 database: - denom: uakt + denom: uact amount: 10000 shared-ip: - denom: uakt + denom: uact amount: 10000 # One IP endpoint for all services ``` diff --git a/src/content/Docs/learn/core-concepts/persistent-storage/index.md b/src/content/Docs/learn/core-concepts/persistent-storage/index.md index 49c0c5d90..8c8899dc3 100644 --- a/src/content/Docs/learn/core-concepts/persistent-storage/index.md +++ b/src/content/Docs/learn/core-concepts/persistent-storage/index.md @@ -104,7 +104,7 @@ profiles: akash: pricing: postgres: - denom: uakt + denom: uact amount: 10000 deployment: diff --git a/src/content/Docs/learn/core-concepts/private-containers/index.md b/src/content/Docs/learn/core-concepts/private-containers/index.md index 4e88fce3d..3c255dac4 100644 --- a/src/content/Docs/learn/core-concepts/private-containers/index.md +++ b/src/content/Docs/learn/core-concepts/private-containers/index.md @@ -63,7 +63,7 @@ profiles: akash: pricing: app: - denom: uakt + denom: uact amount: 10000 deployment: @@ -323,10 +323,10 @@ profiles: akash: pricing: web: - denom: uakt + denom: uact amount: 10000 redis: - denom: uakt + denom: uact amount: 5000 deployment: diff --git a/src/content/Docs/learn/core-concepts/providers-leases/index.md b/src/content/Docs/learn/core-concepts/providers-leases/index.md index 3f1dcf157..d1033b36d 100644 --- a/src/content/Docs/learn/core-concepts/providers-leases/index.md +++ b/src/content/Docs/learn/core-concepts/providers-leases/index.md @@ -197,7 +197,7 @@ When you receive a bid, it includes: ``` Provider: akash1abc...xyz -Price: 8,500 uakt/block +Price: 8,500 uact/block Location: US-West Attributes: - feat-persistent-storage: true @@ -210,9 +210,9 @@ Attributes: **Bid price is per block (~6 seconds):** ``` -Bid: 10,000 uakt/block +Bid: 10,000 uact/block -Hourly cost: 10,000 × 600 blocks = 6,000,000 uakt = 0.006 AKT +Hourly cost: 10,000 × 600 blocks = 6,000,000 uact = 0.006 ACT Daily cost: 0.006 × 24 = 0.144 AKT Monthly cost: 0.144 × 30 = 4.32 AKT @@ -271,7 +271,7 @@ Once lease is active: - Run your containers - Maintain uptime - Process manifest updates -- Accept escrow payments +- Receive **ACT** (compute credit) at settlement from escrow ### Lease States diff --git a/src/content/Docs/learn/core-concepts/shell-access/index.md b/src/content/Docs/learn/core-concepts/shell-access/index.md index a2b0f6c7d..5d2299e3a 100644 --- a/src/content/Docs/learn/core-concepts/shell-access/index.md +++ b/src/content/Docs/learn/core-concepts/shell-access/index.md @@ -365,10 +365,10 @@ profiles: akash: pricing: web: - denom: uakt + denom: uact amount: 1000 api: - denom: uakt + denom: uact amount: 2000 deployment: diff --git a/src/content/Docs/node-operators/architecture/application-layer/index.md b/src/content/Docs/node-operators/architecture/application-layer/index.md index abe0a6cf2..5ea277dc8 100644 --- a/src/content/Docs/node-operators/architecture/application-layer/index.md +++ b/src/content/Docs/node-operators/architecture/application-layer/index.md @@ -523,26 +523,30 @@ MsgDeleteProvider // Deregister provider ### Escrow Module -**Purpose:** Payment escrow for leases +**Purpose:** Payment escrow for leases (ACT funding and provider payouts) **Location:** `x/escrow` -**How It Works:** +**How it works:** + +- **Deposit at creation:** Tenants fund escrow with **ACT** (USD-pegged compute credit). Deployment minimum deposit is in `uact`. +- **Settlement:** Providers are paid in **ACT**; escrow sends earnings in the payment denom (uact) to the provider on withdraw. +- **Circuit breaker:** When mint is halted (low collateral ratio), tenants can deposit **AKT** and the module settles overdrawn payments from AKT funds (`settleFromAktFallback`), sending uakt to the provider. Otherwise use ACT. ``` Deployment Created ↓ Escrow Account Created ↓ -Tenant Deposits Funds +Tenant Deposits ACT (or AKT when circuit breaker active) ↓ Lease Created ↓ -Funds Locked in Escrow +Funds Locked in Escrow (uact) ↓ -Block-by-Block Payment +Block-by-Block Payment (ACT) ↓ -Provider Withdraws Earnings +Provider Withdraws Earnings (ACT) ↓ Lease Closed → Refund Balance ``` @@ -550,17 +554,103 @@ Lease Closed → Refund Balance **Account Types:** ``` DeploymentAccount // Per deployment -LeaseAccount // Per lease +LeaseAccount // Per lease (payment per lease) ``` **Settlement:** -- Payments calculated per block -- Provider can withdraw anytime -- Tenant can top up escrow +- Payments calculated per block in ACT (uact) +- Provider can withdraw anytime; receives ACT +- Tenant can top up escrow (ACT preferred; AKT when circuit breaker in effect) - Refund on lease close --- +### BME Module + +**Purpose:** Burn-Mint-Equilibrium (ACT/AKT vault, ledger, circuit breakers) + +**Location:** `x/bme` + +**Responsibilities:** +- **Vault and ledger:** Tracks burned AKT (remint credits), processes ACT↔AKT burn/mint via pending ledger records. +- **EndBlocker:** Settles ACT→AKT (e.g. for provider payouts from escrow-driven burn) and AKT→ACT (mint ACT when circuit breaker allows) each block. +- **Circuit breakers:** Mint status (e.g. warning/halt) based on collateral ratio; when halted, new ACT mints pause and escrow can use AKT fallback. + +**Integrations:** Escrow keeper uses BME for `GetMintStatus` only; settlement payouts in ACT are handled by escrow (payment denom uact). + +--- + +### Oracle Module + +**Purpose:** Price feeds (e.g. AKT/USD) for escrow and remint + +**Location:** `x/oracle` + +**Responsibilities:** +- Aggregated price for denoms (e.g. `uakt`, `uact`) used by escrow and the vault for conversions and circuit-breaker fallback (AKT price for uact→uakt). + +Prices are supplied by an off-chain relayer (Hermes) that submits signed price data to CosmWasm contracts (Pyth, Wormhole); the Pyth contract then pushes updates into `x/oracle`. See **Oracle price pipeline** below. + +--- + +### Oracle Price Pipeline: Hermes and CosmWasm Contracts + +The oracle uses a **Hermes** relayer and two **CosmWasm** contracts (**Wormhole** and **Pyth**) to bring attested price feeds on-chain. These contracts are deployed at chain upgrade; uploading or updating contract code is only allowed via **governance proposal** (see Wasm module below). + +**Flow:** Hermes (off-chain) → Pyth contract (verifies VAA via Wormhole, parses price) → `x/oracle` + +#### Hermes (Price Relayer) + +**Purpose:** Off-chain service that fetches Pyth price attestations and submits them to the chain. + +**How it works:** +- **Hermes** runs as a separate process (e.g. container `ghcr.io/akash-network/hermes`). It is not part of the node binary. +- It pulls price data and **Verified Action Approvals (VAAs)** from the Pyth Hermes API (`https://hermes.pyth.network`). +- It sends transactions to the **Pyth** CosmWasm contract on Akash (VAA payload, base64-encoded). +- Configuration typically includes: `RPC_ENDPOINT` (node RPC), `HERMES_ENDPOINT` (Pyth API), `CONTRACT_ADDRESS` (Pyth contract), `UPDATE_INTERVAL_MS`, and gas/denom for fees. + +**Operational note:** Validators or third parties run Hermes so that the chain receives continuous price updates. Without Hermes (or an equivalent relayer), oracle prices do not update. See [Hermes Relayer Setup](/docs/node-operators/hermes-relayer) for installation and configuration. + +#### Wormhole Contract (CosmWasm) + +**Purpose:** Verify **Wormhole VAAs** (multi-guardian signatures) on-chain so that Pyth price payloads are trusted. + +**Location:** Stored and instantiated via the **Wasm** module (CosmWasm/wasmd). Instantiated at Mainnet v2.0.0 upgrade; admin is the governance module. + +**Responsibilities:** +- **VAA verification:** Any account can submit a VAA with `SubmitVAA`. The contract checks signatures against the current **guardian set** (e.g. Wormhole mainnet guardian set). Parsed payloads are then available for other contracts. +- **Guardian set updates:** Updates come from Wormhole governance VAAs (signed by 2/3+1 guardians). The contract stores the guardian set and expiration; no Akash governance proposal is required to apply a valid Wormhole governance VAA. + +**Key messages:** +- `submit_vaa` – Submit a base64-encoded VAA for verification and processing. +- Queries: `guardian_set_info`, `get_state`, `verify_vaa`, etc. + +#### Pyth Contract (CosmWasm) + +**Purpose:** Consume VAAs (delivered by Hermes), verify them via the **Wormhole** contract, parse Pyth price payloads, and relay prices to **x/oracle**. + +**Location:** CosmWasm contract; instantiated after Wormhole at v2.0.0 upgrade. Admin is the governance module. Instantiation requires the Wormhole contract address. + +**Responsibilities:** +- Receive execute messages containing VAA data (from Hermes). +- Use the **Wormhole** contract to verify the VAA. +- Parse the Pyth price feed payload (e.g. AKT/USD feed ID). +- Call into **x/oracle** to store/update the aggregated price. + +**Configuration:** Stored in contract state (e.g. price feed ID, Wormhole contract address, data sources). Governance can update config via `UpdateConfig` (e.g. price feed ID, `wormhole_contract`, `data_sources`). + +#### Wasm Module (CosmWasm Host) + +**Purpose:** Host for CosmWasm smart contracts, including Wormhole and Pyth. + +**Location:** Provided by **wasmd** (CosmWasm integration in the node). State lives under the wasm store (code and contract instances). + +**Code upload:** Contract code (**StoreCode**) can only be uploaded via **governance proposal**. The node sets `CodeUploadAccess` to `Nobody` (Mainnet v2.0.0 upgrade); only the governance module is authorized to submit `MsgStoreCode`, so new or updated contract binaries must be proposed and voted on. Instantiation and migration of contracts can still be performed by the contract admin (e.g. governance). + +**Relevance to oracle:** Wormhole and Pyth are stored and instantiated here; they execute in the Wasm VM and interact with `x/oracle` via the node’s module wiring. Governance (admin) can upgrade or migrate these contracts via standard CosmWasm messages. + +--- + ### Audit Module **Purpose:** Provider auditing and attestations @@ -608,20 +698,11 @@ MsgRevokeCertificate // Revoke certificate ### Take Module -**Purpose:** Network income distribution +**Purpose:** Legacy network income distribution; no take-rate on lease settlements. **Location:** `x/take` -**Take Parameters:** -```go -DefaultTakeRate: 0.0 // 0% network fee -DenomTakeRates: map[denom]rate -``` - -**Purpose:** -- Collect fees from marketplace -- Fund community pool -- Sustainable network economics +Lease settlements are in ACT and providers are paid in ACT. The take module may remain in the codebase for legacy or future use but does not apply to escrow payouts. --- @@ -656,6 +737,10 @@ Root (AppHash) │ ├── orders/ │ ├── bids/ │ └── leases/ +├── escrow/ # Escrow accounts (ACT) +├── bme/ # Vault, ledger, remint credits +├── oracle/ # Price feed state +├── wasm/ # CosmWasm code and instances (Wormhole, Pyth) └── ... ``` @@ -762,31 +847,11 @@ TotalGas = sum(message.Gas) + SignatureGas + TxSizeGas ### BeginBlock Order -```go -[]string{ - upgradetypes.ModuleName, // upgrades - minttypes.ModuleName, // inflation - distrtypes.ModuleName, // distribute rewards - slashingtypes.ModuleName, // slash validators - evidencetypes.ModuleName, // process evidence - stakingtypes.ModuleName, // update validators - ibchost.ModuleName, // IBC - authtypes.ModuleName, // auth - banktypes.ModuleName, // bank - govtypes.ModuleName, // gov - escrow.ModuleName, // escrow payments - deployment.ModuleName, // deployments - market.ModuleName, // market - provider.ModuleName, // providers - audit.ModuleName, // audits - cert.ModuleName, // certificates - take.ModuleName, // take -} -``` +BeginBlock and EndBlock ordering include (among others) Cosmos SDK modules plus Akash modules such as **epochs**, **escrow**, **deployment**, **market**, **provider**, **audit**, **cert**, **oracle**, **bme**, and **wasm**. Order is defined via partial ordering in the node app (e.g. `orderBeginBlockers` / `orderEndBlockers`). The **take** module is not in the execution path for lease settlements. ### EndBlock Order -Similar order for end-block processing. +EndBlock runs module end-block logic (e.g. **bme** processes ACT↔AKT ledger pending records each block). Similar partial ordering as BeginBlock. --- diff --git a/src/content/Docs/node-operators/architecture/overview/index.md b/src/content/Docs/node-operators/architecture/overview/index.md index 57e2905d6..16b6a130f 100644 --- a/src/content/Docs/node-operators/architecture/overview/index.md +++ b/src/content/Docs/node-operators/architecture/overview/index.md @@ -41,9 +41,10 @@ For detailed information about each layer: | | | - Bank | | - Market | | | | | | - Staking | | - Provider | | | | | | - Gov | | - Escrow | | | -| | | - Distribution | | - Audit | | | -| | | - Slashing | | - Cert | | | -| | | - IBC | | - Take | | | +| | | - Distribution | | - BME | | | +| | | - Slashing | | - Oracle | | | +| | | - IBC, Wasm | | - Wormhole, Pyth (oracle)| | | +| | | | | - Audit, Cert, Take | | | | | +-----------------------+ +-------------------------+ | | | | | | | | +----------------------------------------------------+ | | @@ -149,10 +150,13 @@ Akash uses a modular architecture where each module handles specific functionali | **deployment** | Deployment creation and management | `x/deployment` | | **market** | Order and bid matching | `x/market` | | **provider** | Provider registration and attributes | `x/provider` | -| **escrow** | Escrow accounts for leases | `x/escrow` | +| **escrow** | Escrow for leases; ACT funding and provider payouts | `x/escrow` | +| **bme** | ACT/AKT vault, ledger, circuit breakers | `x/bme` | +| **oracle** | Price feeds (e.g. AKT/USD) for escrow and remint | `x/oracle` | +| **wasm** | CosmWasm host; Wormhole and Pyth contracts for oracle price pipeline | wasmd | | **audit** | Provider auditing and attestations | `x/audit` | | **cert** | TLS certificate management | `x/cert` | -| **take** | Income distribution/fees | `x/take` | +| **take** | Legacy income distribution; no take-rate on lease settlements | `x/take` | --- @@ -174,10 +178,13 @@ Each module has its own prefixed key space in the store: deployment/ - Deployment state market/ - Orders, bids, leases provider/ - Provider registrations -escrow/ - Escrow account balances +escrow/ - Escrow account balances (ACT) +bme/ - Vault, ledger, remint credits +oracle/ - Price feed state +wasm/ - CosmWasm contract code and instance state (Wormhole, Pyth) audit/ - Audit attributes cert/ - TLS certificates -take/ - Fee parameters +take/ - Fee parameters (legacy; unused for lease settlements) ``` #### State Transitions diff --git a/src/content/Docs/node-operators/hermes-relayer/index.md b/src/content/Docs/node-operators/hermes-relayer/index.md new file mode 100644 index 000000000..511974a5a --- /dev/null +++ b/src/content/Docs/node-operators/hermes-relayer/index.md @@ -0,0 +1,297 @@ +--- +categories: ["Node Operators"] +tags: ["Hermes", "Oracle", "Pyth", "Wormhole", "Price Relayer"] +weight: 5 +title: "Hermes Relayer Setup" +linkTitle: "Hermes Relayer" +description: "Run the Akash Hermes client to relay Pyth price feeds to the oracle" +--- + +The Akash Hermes client is a lightweight Docker-based service that fetches signed AKT/USD price data (VAAs) from Pyth Network's Hermes API and submits it to the on-chain Pyth contract. The Pyth contract verifies guardian signatures via the Wormhole contract and then updates the oracle module. + +**Note:** This is Akash's custom Hermes client ([github.com/akash-network/hermes](https://github.com/akash-network/hermes)), not the Cosmos IBC relayer also named Hermes. They are entirely different tools. + +**Image:** `ghcr.io/akash-network/hermes:v0.0.2` + +--- + +## Overview + +1. Hermes fetches signed AKT/USD price data (VAAs) from Pyth Network's Hermes API. +2. It submits each VAA to the on-chain Pyth contract via `MsgExecuteContract`. +3. The Pyth contract calls the Wormhole contract to verify guardian signatures before storing the price in the oracle module. + +Without a running Hermes relayer (or equivalent), oracle prices do not update. Validators or third parties typically run Hermes to keep the chain supplied with price feeds. + +--- + +## VM Requirements + +The Hermes client is a stateless Node.js process that fetches price data every 60 seconds and submits a single transaction. Resource requirements are minimal: + +| Resource | Minimum | Recommended | +|----------|---------|-------------| +| vCPU | 1 | 1 | +| RAM | 512MB | 1GB | +| Disk | 10GB | 10GB | +| Network | Outbound HTTPS only | Outbound HTTPS only | + +**Inbound ports:** None required. The optional health check endpoint on port 3000 is internal only. + +**Outbound connectivity required:** +- `hermes.pyth.network` (HTTPS/443) — Pyth price feed API +- Akash RPC endpoint (HTTPS/443) — transaction submission + +A small cloud VM (e.g. GCP `e2-micro`) is sufficient. + +--- + +## Prerequisites + +- Ubuntu VM with internet access and Akash RPC connectivity +- Docker installed +- Pyth and Wormhole contracts deployed on the target network (e.g. after Mainnet v2.0.0 or testnet deployment) +- Funded Hermes relayer wallet + +--- + +## Step 1: Install Docker + +```bash +apt update && apt upgrade -y +curl -fsSL https://get.docker.com | sh +docker --version +``` + +--- + +## Step 2: Create and Fund Hermes Wallet + +Create a dedicated Akash account for the Hermes relayer. This wallet pays gas for price-update transactions only. Use a dedicated wallet and do not reuse one that holds significant funds. + +```bash +akash keys add hermes-relayer --keyring-backend test + +# Note the address and save the mnemonic securely — you will need it for starting the container +akash keys show hermes-relayer -a + +# Fund with AKT (10,000 AKT recommended for sustained operation) +akash tx bank send $(akash keys show hermes-relayer -a) \ + 10000000000uakt --from --chain-id -y + +# Verify balance +akash query bank balances $(akash keys show hermes-relayer -a) +``` + +**Cost estimate:** Each price update uses ~578,000 gas plus a 1 uakt update fee (≈ 0.015 AKT per update). At 60-second intervals: ~25 AKT/day. + +--- + +## Step 3: Configure Environment + +On the Hermes VM, create an environment file with all configuration **except** the wallet mnemonic. + +Get the Pyth contract address on the target network: + +```bash +akash query oracle params -o json \ + --node | jq '.params.sources' +``` + +The first address in the `sources` array is the Pyth contract address to use as `CONTRACT_ADDRESS`. For testnet, the RPC endpoint is typically `https://testnetrpc.akashnet.net:443`. + +Create the env file on the Hermes VM: + +```bash +cat > /root/hermes.env << 'EOF' +RPC_ENDPOINT=https://testnetrpc.akashnet.net:443 +CONTRACT_ADDRESS= +HERMES_ENDPOINT=https://hermes.pyth.network +UPDATE_INTERVAL_MS=60000 +GAS_PRICE=0.025uakt +DENOM=uakt +EOF + +chmod 600 /root/hermes.env +``` + +**Why the mnemonic is excluded:** The mnemonic is passed at container start via an environment variable and is never written to disk. If the host reboots, restart the container and re-enter the mnemonic when starting it. + +--- + +## Step 4: Start Hermes Container + +Pass the mnemonic at container start; it is not stored in a file: + +```bash +read -s -p "Enter hermes relayer mnemonic: " HERMES_MNEMONIC && echo + +docker run -d \ + --name hermes-client \ + --env-file /root/hermes.env \ + -e "WALLET_SECRET=mnemonic:${HERMES_MNEMONIC}" \ + -p 3000:3000 \ + --restart unless-stopped \ + ghcr.io/akash-network/hermes:v0.0.2 node dist/cli.js daemon + +# Clear the variable from shell memory +unset HERMES_MNEMONIC +``` + +--- + +## Step 5: Verify Operation + +```bash +# Watch logs for successful submissions +docker logs -f hermes-client +``` + +**Expected healthy log output:** +``` +Fetched price from Hermes: 44463703 (expo: -8) + Confidence: 134234, Publish time: 1773350501 + VAA size: 1748 bytes (base64) +Submitting VAA to Pyth contract... + Wormhole contract: akash14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9sggdamt +Price updated successfully! TX: + Gas used: 578255 + New price: 44463703 (expo: -8) +``` + +**Verify prices in the oracle module:** +```bash +akash query oracle prices | head -n 20 +``` + +**Health check endpoint:** +```bash +curl http://localhost:3000/health +``` + +--- + +## Step 6: Confirm Oracle Sources + +After the first successful submission, verify the Pyth contract is an authorized oracle source and prices are flowing: + +```bash +# Confirm source registered +akash query oracle params -o json | jq '.params.sources' + +# Confirm prices on chain +akash query oracle prices | head -n 20 + +# Check BME is using oracle prices (if applicable) +akash query bme status +``` + +--- + +## Updating to a New Network + +When the target network changes (e.g. testnet rebuild), update `RPC_ENDPOINT` and `CONTRACT_ADDRESS` in the env file: + +```bash +# Stop and remove container +docker stop hermes-client && docker rm hermes-client + +# Update env file with new values +nano /root/hermes.env + +# Restart with mnemonic (see Step 4) +read -s -p "Enter hermes relayer mnemonic: " HERMES_MNEMONIC && echo + +docker run -d \ + --name hermes-client \ + --env-file /root/hermes.env \ + -e "WALLET_SECRET=mnemonic:${HERMES_MNEMONIC}" \ + -p 3000:3000 \ + --restart unless-stopped \ + ghcr.io/akash-network/hermes:v0.0.2 node dist/cli.js daemon + +unset HERMES_MNEMONIC + +docker logs -f hermes-client +``` + +**Getting the new network values:** + +- **RPC endpoint:** From the network's chain registry or documentation. +- **Pyth contract address:** After Pyth/Wormhole are deployed on the new network, run: + ```bash + akash query oracle params -o json --node | jq '.params.sources' + ``` + +--- + +## Troubleshooting + +### GuardianSignatureError + +``` +GuardianSignatureError: query wasm contract failed +``` + +The Wormhole contract's guardian set is behind the current mainnet guardian set. The Wormhole contract must be updated or redeployed with the current guardian addresses. See the node deployment guide for the current guardian set. + +To check the current mainnet guardian set index: +```bash +curl -s https://raw.githubusercontent.com/wormhole-foundation/wormhole/main/guardianset/mainnetv2/ \ + | grep -o 'v[0-9]*\.prototxt' | sort -V | tail -1 +``` + +### source ... is not authorized oracle provider + +The Hermes relayer wallet or Pyth contract address is not registered in the oracle module `sources`. Submit a governance proposal to add it. + +### Failed to parse URL from undefined + +Missing `HERMES_ENDPOINT` in the env file. Set it to `https://hermes.pyth.network`. + +### Price deviation check failing + +Hermes v0.0.2 includes a price deviation check that skips submission if the new price is too close to the current on-chain price. This is normal and not an error. + +--- + +## Key Values Reference + +| Item | Value | +|------|-------| +| Docker image | `ghcr.io/akash-network/hermes:v0.0.2` | +| Hermes API | `https://hermes.pyth.network` | +| AKT/USD Feed ID | `0x4ea5bb4d2f5900cc2e97ba534240950740b4d3b89fe712a94a7304fd2fd92702` | +| Update interval | 60 seconds | +| Approx gas per update | ~578,000 gas | +| Update fee | 1000 uakt per submission | + +--- + +## What Changes vs What Stays the Same + +**When switching networks:** + +| Setting | Action | +|---------|--------| +| `RPC_ENDPOINT` | Update to new network RPC | +| `CONTRACT_ADDRESS` | Update to Pyth contract address on new network | +| `WALLET_SECRET` | Update if using a different relayer wallet | + +**Unchanged:** + +- Docker image version +- `HERMES_ENDPOINT` (always `https://hermes.pyth.network`) +- `UPDATE_INTERVAL_MS`, `GAS_PRICE`, `DENOM` + +The Hermes client is stateless; all network-specific configuration is in the env file. No image rebuild is required when switching networks. + +--- + +## References + +- [Hermes Repository](https://github.com/akash-network/hermes) +- [Pyth Hermes API](https://hermes.pyth.network) +- [Pyth Documentation](https://docs.pyth.network) +- [Wormhole Dashboard](https://wormhole-foundation.github.io/wormhole-dashboard) +- [Node Architecture: Oracle Price Pipeline](/docs/node-operators/architecture/application-layer#oracle-price-pipeline-hermes-and-cosmwasm-contracts) diff --git a/src/content/Docs/node-operators/network-upgrades/mainnet-17/index.md b/src/content/Docs/node-operators/network-upgrades/mainnet-17/index.md index 246237a3c..afae11846 100644 --- a/src/content/Docs/node-operators/network-upgrades/mainnet-17/index.md +++ b/src/content/Docs/node-operators/network-upgrades/mainnet-17/index.md @@ -26,6 +26,17 @@ This guide provides step-by-step instructions for upgrading your node to Akash v --- +## Tokenomics (BME) + +Mainnet 17 enables **Burn-Mint-Equilibrium (BME)** tokenomics ([AEP-76](https://akash.network/roadmap/aep-76/)), supported by CosmWasm and oracle infrastructure ([AEP-78](https://akash.network/roadmap/aep-78/)). + +- **Deployment funding:** Deposits when creating deployments are **ACT only** (USD-pegged compute credit). Tenants get ACT by burning AKT or via credit card in Console. +- **Provider payouts:** Providers are paid in **ACT** (lease settlement in ACT). +- **Escrow top-up:** You can fund escrow after creation with **AKT** when the circuit breaker is in effect (e.g. new ACT mints paused). Otherwise, use **ACT only** (recommended). +- **Take-rate:** AEP-23 take-rates on stable settlements are removed; no take-rate on BME payouts. + +--- + ## Validator Expectations To ensure a network upgrade with minimal downtime, Akash Validators should be available as follows: diff --git a/src/content/Docs/node-operators/node-build/omnibus/index.md b/src/content/Docs/node-operators/node-build/omnibus/index.md index 0bce49a25..026324dc1 100644 --- a/src/content/Docs/node-operators/node-build/omnibus/index.md +++ b/src/content/Docs/node-operators/node-build/omnibus/index.md @@ -11,7 +11,7 @@ Deploy an Akash RPC node on the Akash Network itself using Cosmos Omnibus. This **Time:** 5-10 minutes (deployment) + 20-30 minutes (blockchain sync via snapshot) **Requirements:** -- Akash wallet with ~2 AKT (0.5 AKT deposit + usage) +- Akash wallet with ACT for deployment deposit (and some AKT for gas) - Akash Console or CLI --- @@ -71,7 +71,7 @@ profiles: - akash1365yvmc4s7awdyj3n2sav7xfx76adc6dnmlx63 pricing: node: - denom: uakt + denom: uact amount: 1000 deployment: @@ -173,7 +173,7 @@ This restricts deployment to providers audited by the specified Akash Core Team 2. Create new deployment 3. Paste the SDL above 4. **Adjust storage size** to at least 400Gi -5. Accept .5 AKT deposit +5. Accept deposit (in ACT) 6. Select a provider from bids 7. Wait for deployment to start diff --git a/src/content/Docs/node-operators/validators/omnibus/index.md b/src/content/Docs/node-operators/validators/omnibus/index.md index b98d0e12e..e9f55d112 100644 --- a/src/content/Docs/node-operators/validators/omnibus/index.md +++ b/src/content/Docs/node-operators/validators/omnibus/index.md @@ -235,7 +235,7 @@ We need to deploy once to capture node IDs, then re-deploy with those IDs config 3. **Click "Deploy"** 4. **Select "Empty" template** 5. **Paste your SDL** (from Step 3) -6. **Review and accept** deposit (5 AKT) +6. **Review and accept** deposit (in ACT, e.g. ~5 ACT) 7. **Select provider** (choose a trusted one for validator!) 8. **Submit deployment** diff --git a/src/content/Docs/providers/architecture/bid-engine/index.md b/src/content/Docs/providers/architecture/bid-engine/index.md index 01933956a..80b18acfc 100644 --- a/src/content/Docs/providers/architecture/bid-engine/index.md +++ b/src/content/Docs/providers/architecture/bid-engine/index.md @@ -177,7 +177,7 @@ Custom pricing logic in `price_script.sh`: #!/bin/bash # Custom pricing logic # Input: JSON with order details -# Output: Price in uakt/block +# Output: Price in uact/block (ACT) CPU_PRICE=100 MEMORY_PRICE=50 @@ -233,8 +233,8 @@ message MsgCreateBid { **Fields:** - `bid_id` - Unique identifier (order ID + provider address) -- `price` - Bid price in uakt per block -- `deposit` - Bid deposit (typically 5 AKT) +- `price` - Bid price in uact per block (ACT) +- `deposit` - Bid deposit in **AKT** (0.5 AKT / 500000 uakt) ### Transaction Broadcast @@ -350,8 +350,8 @@ type Config struct { **From provider.yaml:** ```yaml -# Bid deposit (escrow) -biddeposit: 5000000uakt # 5 AKT +# Bid deposit (in AKT; provider puts this up when placing a bid) +biddeposit: 500000uakt # 0.5 AKT # Bid timeout bidtimeout: 5m diff --git a/src/content/Docs/providers/architecture/manifest-service/index.md b/src/content/Docs/providers/architecture/manifest-service/index.md index dcc36755c..bcdb93b0b 100644 --- a/src/content/Docs/providers/architecture/manifest-service/index.md +++ b/src/content/Docs/providers/architecture/manifest-service/index.md @@ -175,7 +175,7 @@ profiles: akash: pricing: web: - denom: uakt + denom: uact amount: 1000 deployment: web: diff --git a/src/content/Docs/providers/getting-started/should-i-run-a-provider/index.md b/src/content/Docs/providers/getting-started/should-i-run-a-provider/index.md index ccf989677..fdf3294f2 100644 --- a/src/content/Docs/providers/getting-started/should-i-run-a-provider/index.md +++ b/src/content/Docs/providers/getting-started/should-i-run-a-provider/index.md @@ -28,7 +28,7 @@ Providers can offer: ## Benefits of Running a Provider ### Revenue Opportunities -- Earn AKT or USDC tokens for hosting workloads +- Earn **ACT** (compute credit) for hosting workloads; all lease settlements pay providers in ACT - Set your own pricing - Higher demand for GPU resources - Persistent storage premium pricing @@ -66,7 +66,7 @@ Providers can offer: - Time for maintenance (2-4 hours/week) **Financial:** -- Minimum 0.5 AKT per lease for escrow deposits (5 AKT recommended for initial operations) +- **AKT** for bid escrow (0.5 AKT per bid) and gas - ~0.005 AKT bid fee per bid submission - Ability to cover electricity/hosting costs - Capital for hardware (if needed) @@ -118,7 +118,7 @@ There are three ways to set up an Akash provider: ### Initial Costs - **Hardware:** $500-$5,000+ (or existing hardware) -- **AKT Tokens:** 0.5 AKT per lease for escrow deposits (5 AKT recommended for initial operations) +- **ACT:** Minimum per-lease escrow deposit in ACT (e.g. ~5 ACT); have some AKT for gas and bid fees - **Bid Fees:** ~0.005 AKT per bid submission - **Setup Time:** Your time investment diff --git a/src/content/Docs/providers/operations/lease-management/index.md b/src/content/Docs/providers/operations/lease-management/index.md index 52cae8069..e0f32e4a2 100644 --- a/src/content/Docs/providers/operations/lease-management/index.md +++ b/src/content/Docs/providers/operations/lease-management/index.md @@ -126,7 +126,7 @@ provider-services query market lease list \ --state active ``` -### Example Output +### Example Output (payment denom uact / ACT) ```yaml leases: @@ -136,11 +136,11 @@ leases: xid: akash19gs08y80wlk5wl4696wz82z2wrmjw5c84cvw28/5903794 balance: amount: "0.455120000000000000" - denom: uakt + denom: uact owner: akash1q7spv2cw06yszgfp4f9ed59lkka6ytn8g4tkjf rate: amount: "24.780240000000000000" - denom: uakt + denom: uact state: open lease: closed_on: "0" @@ -153,10 +153,12 @@ leases: provider: akash1q7spv2cw06yszgfp4f9ed59lkka6ytn8g4tkjf price: amount: "24.780240000000000000" - denom: uakt + denom: uact state: active ``` +Providers are paid in **ACT** (uact); balance and rate above are in ACT. + ## List Active Leases from Kubernetes View active leases from the Kubernetes cluster perspective using the Hostname Operator. @@ -182,8 +184,8 @@ Providers can close bids to terminate deployments and recover provider escrow. **What happens when you close a lease:** - Closes the lease (payment channel) immediately - Terminates the workload running on the provider -- Returns provider escrow to the provider -- Tenant must close their deployment separately to recover their escrow (5 AKT by default) +- Returns provider escrow to the provider (in ACT) +- Tenant must close their deployment separately to recover their escrow (default deposit in ACT) ### Command Template diff --git a/src/content/Docs/providers/setup-and-installation/kubespray/ip-leases/index.md b/src/content/Docs/providers/setup-and-installation/kubespray/ip-leases/index.md index ed2852410..237055574 100644 --- a/src/content/Docs/providers/setup-and-installation/kubespray/ip-leases/index.md +++ b/src/content/Docs/providers/setup-and-installation/kubespray/ip-leases/index.md @@ -262,7 +262,7 @@ profiles: akash: pricing: web: - denom: uakt + denom: uact amount: 1000 deployment: diff --git a/src/content/Docs/providers/setup-and-installation/kubespray/provider-installation/index.md b/src/content/Docs/providers/setup-and-installation/kubespray/provider-installation/index.md index ef79c5a31..8fae70549 100644 --- a/src/content/Docs/providers/setup-and-installation/kubespray/provider-installation/index.md +++ b/src/content/Docs/providers/setup-and-installation/kubespray/provider-installation/index.md @@ -22,7 +22,7 @@ Before starting, ensure you have: - **Kubernetes cluster** deployed and verified - **Domain name** that you control (e.g., `provider.example.com`) - **Akash wallet** with: - - Minimum 50 AKT recommended (0.5 AKT deposit per bid) + - **Provider bid deposit** is in **AKT** (0.5 AKT); keep AKT for gas. Recommended balance for multiple bids. - Funded account ([Fund Your Account](/docs/developers/deployment/cli/installation-guide/#fund-your-account)) ### Optional (if configured) @@ -312,7 +312,7 @@ email: contact@example.com website: https://example.com organization: Your Organization -# Pricing (in uakt per unit) +# Pricing (in uact per unit) price_target_cpu: 1.60 price_target_memory: 0.30 price_target_hd_ephemeral: 0.02 @@ -736,7 +736,7 @@ Your provider is now running! - [IP Leases](/docs/providers/setup-and-installation/kubespray/ip-leases) - Enable static IPs for deployments **Provider Resources:** -- [Provider Calculator](https://akash.network/pricing/provider-calculator/) - Estimate earnings +- [Provider Calculator](https://akash.network/pricing/provider-calculator/) - Estimate earnings (provider payouts are in ACT) - [Provider Operations](/docs/providers/operations/) - Lease management, monitoring, and maintenance - [Akash Discord](https://discord.akash.network) - Join the provider community diff --git a/src/content/Docs/providers/setup-and-installation/provider-console/index.md b/src/content/Docs/providers/setup-and-installation/provider-console/index.md index e6fdba4de..1c2cedf5b 100644 --- a/src/content/Docs/providers/setup-and-installation/provider-console/index.md +++ b/src/content/Docs/providers/setup-and-installation/provider-console/index.md @@ -20,7 +20,7 @@ Provider Console is a web-based application designed to simplify the process of - **Visual Setup Wizard** - Step-by-step guided configuration - **No CLI Required** - Everything through the browser - **Automated Installation** - Handles Kubernetes and provider setup -- **Real-Time Monitoring** - View provider status and earnings +- **Real-Time Monitoring** - View provider status and earnings (in ACT) - **Web-Based Management** - Manage your provider from anywhere --- diff --git a/src/content/Docs/providers/setup-and-installation/provider-playbook/index.md b/src/content/Docs/providers/setup-and-installation/provider-playbook/index.md index cdb6ae4e4..6baa78a86 100644 --- a/src/content/Docs/providers/setup-and-installation/provider-playbook/index.md +++ b/src/content/Docs/providers/setup-and-installation/provider-playbook/index.md @@ -296,7 +296,7 @@ See [Operations](/docs/providers/operations) for ongoing management. ### Provider Service Issues - **Wallet errors**: - - Verify wallet has sufficient AKT (minimum 0.5 AKT, recommended 50 AKT) + - Deployment deposit is in **ACT** (tenant escrow); provider bid deposit is in **AKT**. Ensure sufficient ACT for escrow and AKT for bid deposits and gas. - Check key password was entered correctly - Ensure key is properly base64 encoded diff --git a/src/content/Token_Homepage/index.md b/src/content/Token_Homepage/index.md index b3679c42b..41c3ebcff 100644 --- a/src/content/Token_Homepage/index.md +++ b/src/content/Token_Homepage/index.md @@ -31,13 +31,13 @@ howItWorksSection: - title: Governance - description: Akash Network is community-owned and all aspects of the network are governed by AKT holders. AKT holders can vote on proposals to improve the network and manage critical parameters such as inflation rate and take rates. + description: Akash Network is community-owned and all aspects of the network are governed by AKT holders. AKT holders can vote on proposals to improve the network and manage critical parameters such as inflation rate (BME removes take-rates on lease settlements). icon: | - title: Value Exchange - description: AKT provides a default mechanism to store and exchange value. AKT is the only way to purchase compute on the network. Traditional payments such as credit card transactions are converted to AKT to access compute resources. + description: AKT provides a default mechanism to store and exchange value. Compute is funded with ACT (USD-pegged credit), which is minted by burning AKT or via credit card; providers are paid in ACT. When the circuit breaker is in effect, you can top up with AKT to keep deployments running. icon: | diff --git a/src/lib/docs/docs-home-data.ts b/src/lib/docs/docs-home-data.ts index 06a1453f3..c17beb623 100644 --- a/src/lib/docs/docs-home-data.ts +++ b/src/lib/docs/docs-home-data.ts @@ -203,6 +203,12 @@ export const nodeOperatorsSection: Section = { title: "Network Upgrades", description: "Mainnet 15 upgrade guide", }, + { + href: "/docs/node-operators/hermes-relayer", + icon: "server", + title: "Hermes Relayer", + description: "Run the oracle price relayer (Pyth → Wormhole → oracle)", + }, ], };