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
- Recommended: Yes
- key: emailwebsite
- Value: Provider website URL
- Purpose: Marketing and information
- Recommended: 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
- Purpose: Regional classification
- Examples:
us-west,us-east,us-centraleu-west,eu-eastap-southeast,ap-northeast
- key: location-region value: us-westtimezone
- 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.
hardware-cpu
- Values:
intel,amd,apple - Purpose: CPU vendor identification
- key: hardware-cpu value: amdhardware-cpu-arch
- Values:
x86-64,arm64,arm - Purpose: CPU architecture
- key: hardware-cpu-arch value: x86-64hardware-gpu
- Values:
nvidia - Purpose: GPU vendor (if GPUs available)
- key: hardware-gpu value: nvidiahardware-gpu-model
- Value: Comma-separated GPU models
- Purpose: Advertise available GPU models
- Examples:
rtx4090,a100,h100,rtx3090
- key: hardware-gpu-model value: rtx4090,rtx3090hardware-disk
- Values:
ssd,nvme,hdd,mix - Purpose: Storage type classification
- key: hardware-disk value: nvmehardware-memory
- Values:
ddr4,ddr5,ecc,mix - Purpose: RAM type
- key: hardware-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
- Note: Requires Rook-Ceph or similar
- key: feat-persistent-storage value: truefeat-persistent-storage-type
- Values:
beta1,beta2,beta3(storage classes) - Purpose: Advertise available storage types
- key: feat-persistent-storage-type value: beta2feat-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, use the standardized GPU attribute format.
GPU Attribute Format
capabilities/gpu/vendor/<vendor>/model/<model>Examples:
# Basic GPU model- key: capabilities/gpu/vendor/nvidia/model/rtx4090 value: true
# GPU with RAM specification- key: capabilities/gpu/vendor/nvidia/model/rtx4090/ram/24Gi value: true
# GPU with interface type- key: capabilities/gpu/vendor/nvidia/model/a100/interface/sxm value: trueGPU Vendors
nvidia- NVIDIA GPUs
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:
attributes: # RTX 4090 - key: capabilities/gpu/vendor/nvidia/model/rtx4090 value: true - key: capabilities/gpu/vendor/nvidia/model/rtx4090/ram/24Gi value: true
# RTX 3090 - key: capabilities/gpu/vendor/nvidia/model/rtx3090 value: true - key: capabilities/gpu/vendor/nvidia/model/rtx3090/ram/24Gi value: trueImportant: 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 provider-configs repository
- Follow the GPU submission process in the README
- Wait for approval (typically 1-3 business days)
- Update your provider attributes
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: website value: https://mygpuprovider.com
# Location - key: location-region value: 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: hardware-cpu value: amd - key: hardware-cpu-arch value: x86-64 - key: hardware-gpu value: nvidia - key: hardware-gpu-model value: rtx4090 - key: hardware-disk value: nvme - key: hardware-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-persistent-storage-type value: beta2 - key: feat-endpoint-ip value: true - key: feat-endpoint-custom-domain value: true
# 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: trueVerify 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.