Provider attributes allow you to advertise your provider’s capabilities, location, hardware, and features to potential tenants. These attributes help the Akash network match deployments with providers that meet specific requirements.
Why Attributes Matter
Accurate provider attributes enable:
- Better Deployment Matching: Tenants can find providers with specific capabilities
- Geographic Selection: Tenants can deploy to specific regions or countries
- Hardware Requirements: Match deployments to specific CPU, GPU, or storage types
- Feature Discovery: Advertise support for persistent storage, IP leases, custom domains
- Transparency: Build trust by sharing provider details (organization, location, contact)
Attribute Configuration
Attributes are defined in your provider.yaml file under the attributes section:
attributes: - key: host value: akash - key: tier value: community - key: organization value: my-provider-orgAfter updating attributes, restart your provider:
cd /root/providerhelm upgrade akash-provider akash/provider \ -n akash-services \ -f provider.yaml \ --set bidpricescript="$(cat price_script.sh | openssl base64 -A)"Standard Attributes
Basic information about your provider.
host
- Value:
akash - Purpose: Identifies provider as Akash Network member
- Required: Yes
- key: host value: akashtier
- Value:
community - Purpose: Provider tier classification
- Required: Yes
- key: tier value: communityorganization
- Value: Your organization name
- Purpose: Provider operator identification
- Example:
my-company
- key: organization value: my-provider-org- Value: Contact email address
- Purpose: Support and communication
- Required: Yes
- key: emaildiscord-username
- Value: Your Discord username (without
@) - Purpose: Contact for audit and provider support
- Required for audit: Yes — audited providers must be in the Akash Discord with the Provider role
- key: discord-username value: your_discord_usernameSee Provider Audit for full audit attribute requirements.
website
- Value: Provider website URL
- Purpose: Marketing and information
- Required for audit: Yes
- key: website value: https://example.comstatus-page
- Value: Status page URL
- Purpose: Service health monitoring
- Optional: Yes
- key: status-page value: https://status.example.comLocation Attributes
Geographic and facility information.
country
- Value: ISO 3166 Alpha-2 country code
- Purpose: Country identification
- Examples:
US,GB,DE,JP,SG - Recommended: Yes
- key: country value: UScity
- Value: Three-letter city code
- Purpose: City identification
- Examples:
NYC,LAX,LON,FRA,SIN
- key: city value: LAXlocation-region
- Value: UN geoscheme region code
- Purpose: Regional classification for deployment matching
- Required: Yes
- Note: Use the key
location-region. The legacyregionkey is not supported. - Examples:
na-us-west,na-us-northeast,na-us-midwesteu-west,eu-central,eu-northas-east,as-southeast,oc-aus
- key: location-region value: na-us-westSee the provider attributes schema for the full list of accepted region values.
timezone
- Value: UTC offset (e.g.,
utc-8,utc+1) - Purpose: Time zone identification
- key: timezone value: utc-8location-type
- Values:
datacenter,colo,home,office,mix - Purpose: Hosting environment classification
- key: location-type value: datacenterhosting-provider
- Value: Data center or cloud provider name
- Purpose: Facility identification
- Examples:
equinix,aws,azure,ovh,hetzner
- key: hosting-provider value: equinixHardware Attributes
CPU, GPU, storage, and memory specifications.
capabilities/cpu
- Values:
intel,amd,arm - Purpose: CPU vendor identification
- Required: Yes
- key: capabilities/cpu value: amdcapabilities/cpu/arch
- Values:
x86,x86-64,arm,arm-64 - Purpose: CPU architecture
- key: capabilities/cpu/arch value: x86-64capabilities/gpu
- Values:
nvidia,amd,intel,xilinx - Purpose: GPU vendor (if GPUs available)
- key: capabilities/gpu value: nvidiaGPU models (capabilities/gpu/vendor/…)
- Purpose: Advertise available GPU models
- Format: One attribute per model, synced from provider-configs
- Examples:
rtx4090,a100,h100,gtx1050(lowercase, no spaces)
- key: capabilities/gpu/vendor/nvidia/model/rtx4090 value: "true"- key: capabilities/gpu/vendor/nvidia/model/a100 value: "true"See GPU Capabilities below for RAM and interface sub-keys.
cuda
- Value: CUDA version string (for example
12.7,13.0) - Purpose: Advertise the CUDA version available on GPU nodes
- key: cuda value: "12.7"capabilities/memory
- Values:
ddr2,ddr3,ddr3ecc,ddr4,ddr4ecc,ddr5,ddr5ecc - Purpose: RAM type
- Required: Yes
- key: capabilities/memory value: ddr5hardware-energy-source
- Values:
solar,wind,nuclear,coal,mix,unknown - Purpose: Energy source transparency
- key: hardware-energy-source value: solarhardware-cooling
- Values:
free,air,liquid - Purpose: Cooling system type
- Note:
free= free cooling (outside air)
- key: hardware-cooling value: liquidNetwork Attributes
Internet connectivity specifications.
network-provider
- Value: ISP name
- Purpose: Network provider identification
- key: network-provider value: level3network-speed-up
- Value: Upload speed in Mbps
- Purpose: Advertise upload bandwidth
- key: network-speed-up value: 10000network-speed-down
- Value: Download speed in Mbps
- Purpose: Advertise download bandwidth
- key: network-speed-down value: 10000Feature Attributes
Advertise support for advanced features.
feat-persistent-storage
- Values:
true,false - Purpose: Advertise persistent storage availability
- Required: Yes
- Note: Requires Rook-Ceph or similar. Also set the storage class capability keys below when
true.
- key: feat-persistent-storage value: truecapabilities/storage/1/class
- Values:
beta1,beta2,beta3 - Purpose: Primary persistent storage class
- Required: Yes (if you have persistent storage)
- key: capabilities/storage/1/class value: beta3| Value | Storage type |
|---|---|
beta1 | HDD |
beta2 | SSD |
beta3 | NVMe |
capabilities/storage/1/persistent
- Values:
"true","false" - Purpose: Indicate that storage class 1 provides persistent storage
- Required: Yes (if you have persistent storage)
- key: capabilities/storage/1/persistent value: "true"Complete persistent storage example:
- key: feat-persistent-storage value: true- key: capabilities/storage/1/class value: beta3- key: capabilities/storage/1/persistent value: "true"Important: You can only advertise one persistent storage class per provider. Choose either beta1 (HDD), beta2 (SSD), or beta3 (NVMe) based on what you configured in Rook-Ceph.
feat-shm
- Values:
true,false - Purpose: Advertise shared memory (SHM) support via the
ramstorage class - Recommended: Yes (all providers should support SHM)
- key: feat-shm value: truecapabilities/storage/2/class (SHM/Shared Memory)
- Value:
ram - Purpose: SHM storage class (separate from persistent storage at index 1)
- Required: Yes (if advertising SHM)
- key: capabilities/storage/2/class value: ramcapabilities/storage/2/persistent (SHM)
- Value:
"false" - Purpose: SHM is non-persistent
- Required: Yes (if advertising SHM)
- key: capabilities/storage/2/persistent value: "false"Complete storage example with persistent storage and SHM:
# Persistent storage (index 1)- key: feat-persistent-storage value: true- key: capabilities/storage/1/class value: beta3- key: capabilities/storage/1/persistent value: "true"
# SHM/Shared Memory (index 2)- key: feat-shm value: true- key: capabilities/storage/2/class value: ram- key: capabilities/storage/2/persistent value: "false"Note: All providers should support SHM for deployments requiring shared memory. This is configured in the inventory operator during provider installation.
feat-endpoint-ip
- Values:
true,false - Purpose: Advertise IP lease support
- key: feat-endpoint-ip value: truefeat-endpoint-custom-domain
- Values:
true,false - Purpose: Advertise custom domain support
- key: feat-endpoint-custom-domain value: trueGPU Capabilities
For GPU providers, advertise models and their RAM/interface variants using the standardized capability key format. Valid keys are synced from the provider-configs GPU database.
GPU Attribute Format
capabilities/gpu/vendor/<vendor>/model/<model>capabilities/gpu/vendor/<vendor>/model/<model>/ram/<size>capabilities/gpu/vendor/<vendor>/model/<model>/interface/<iface>capabilities/gpu/vendor/<vendor>/model/<model>/ram/<size>/interface/<iface>Example for NVIDIA RTX 4090 (PCIe, 24Gi):
- key: capabilities/gpu/vendor/nvidia/model/rtx4090 value: "true"- key: capabilities/gpu/vendor/nvidia/model/rtx4090/ram/24Gi value: "true"- key: capabilities/gpu/vendor/nvidia/model/rtx4090/interface/pcie value: "true"- key: capabilities/gpu/vendor/nvidia/model/rtx4090/ram/24Gi/interface/pcie value: "true"GPU Vendors
nvidia— NVIDIA GPUsamd— AMD GPUs (for examplemi100,mi60)
GPU Interface Types
pcie— PCIe connected (most common)sxm— SXM form factor (data center)mig— Multi-Instance GPU
RAM Sizes
Common values: 8Gi, 12Gi, 16Gi, 24Gi, 32Gi, 40Gi, 48Gi, 80Gi
Multiple GPU Models
If you have different GPU models across nodes, list each model with its RAM and interface keys:
attributes: # RTX 4090 - key: capabilities/gpu/vendor/nvidia/model/rtx4090 value: "true" - key: capabilities/gpu/vendor/nvidia/model/rtx4090/ram/24Gi value: "true" - key: capabilities/gpu/vendor/nvidia/model/rtx4090/interface/pcie value: "true" - key: capabilities/gpu/vendor/nvidia/model/rtx4090/ram/24Gi/interface/pcie value: "true"
# RTX 3090 - key: capabilities/gpu/vendor/nvidia/model/rtx3090 value: "true" - key: capabilities/gpu/vendor/nvidia/model/rtx3090/ram/24Gi value: "true" - key: capabilities/gpu/vendor/nvidia/model/rtx3090/interface/pcie value: "true" - key: capabilities/gpu/vendor/nvidia/model/rtx3090/ram/24Gi/interface/pcie value: "true"Important: Each node should only have one GPU model. Don’t mix GPU types on a single node.
Adding New GPU Models
If your GPU isn’t in the provider-configs database, submit it:
- Visit the provider-configs repository
- Follow the GPU submission process in the README
- Wait for approval (typically 1–3 business days)
- Update your provider attributes with the approved capability keys
Complete Example
Here’s a complete provider.yaml attributes section:
attributes: # Standard - key: host value: akash - key: tier value: community - key: organization value: my-gpu-provider - key: email - key: discord-username value: mygpuprovider - key: website value: https://mygpuprovider.com
# Location - key: location-region value: na-us-west - key: country value: US - key: city value: LAX - key: timezone value: utc-8 - key: location-type value: datacenter - key: hosting-provider value: equinix
# Hardware - key: capabilities/cpu value: amd - key: capabilities/cpu/arch value: x86-64 - key: capabilities/gpu value: nvidia - key: capabilities/memory value: ddr5
# Network - key: network-provider value: level3 - key: network-speed-up value: 10000 - key: network-speed-down value: 10000
# Features - key: feat-persistent-storage value: true - key: feat-shm value: true - key: feat-endpoint-ip value: true - key: feat-endpoint-custom-domain value: true
# Persistent Storage (required if you have Rook-Ceph) - key: capabilities/storage/1/class value: beta2 - key: capabilities/storage/1/persistent value: "true"
# SHM/Shared Memory (recommended for all providers) - key: capabilities/storage/2/class value: ram - key: capabilities/storage/2/persistent value: "false"
# GPU Capabilities - key: capabilities/gpu/vendor/nvidia/model/rtx4090 value: "true" - key: capabilities/gpu/vendor/nvidia/model/rtx4090/ram/24Gi value: "true" - key: capabilities/gpu/vendor/nvidia/model/rtx4090/interface/pcie value: "true" - key: capabilities/gpu/vendor/nvidia/model/rtx4090/ram/24Gi/interface/pcie value: "true" - key: cuda value: "12.7"Verify Attributes
After updating your provider, verify attributes are registered:
provider-services query provider get <your-provider-address>Look for your attributes in the attributes section of the output.
Related Resources
- Provider Installation
- GPU Support Setup
- Provider Audit — Official audit process and attribute checklist
- Provider Attributes Schema (canonical key list)
- Provider Configs Repository