Automation and mining profiles

Mining profiles help you optimize your mining operation based on parameters like electricity price and other fixed costs. Setting up a mining profile is crucial for Hashman’s advanced optimization engine.

In the automation page, you can see a list of your mining profiles and their characteristics. You can also view preview charts of a mining profile. This preview charts the relevant parameters for mining operations: hash price, efficiency breakeven thresholds for a given mining profile, total electricity cost, transaction fees, and network hashrate/difficulty.

Automation main view
  • Create a profile: Set up new profiles for different mining scenarios, press the create mining profile button on the top right corner

  • Edit profile: Edit an existing mining profile

  • Preview profile: Select the profile to view the preview of relevant parameters for mining operations

Mining profiles

Creating a new mining profile

Mining profiles define how your ASICs operate based on electricity prices and market conditions. They are the core automation mechanism in Hashman.

Overview

A mining profile contains:

  • Pool configurations

  • Power usage limits

  • Pricing rules

When active, a profile continuously evaluates conditions and automatically adjusts your mining operations for optimal profitability.

Creating profiles

  1. Navigate to Automation → Create Profile

  2. Configure the following required settings:

Basic Settings

  • Name: Unique identifier for the profile

  • Alias: Optional short name for scripting

  • Power Limits: Set min/max power draw per device

  • Sleep Mode: Enable/disable device sleep states

  • Base Currency: Currency used in rule evaluation

  • Timezone: Time context for schedules and rules

Pool Configuration

Electricity pricing

Hashman has a built-in powerful language called HPDL (Hashman Price Definition Language) designed to handle even the most complex electricity pricing scenarios. This language allows for the creation of dynamic pricing models that can use varying contract prices, different types of taxes, and changes in rates over time.

The scripting language supports conditional statements, date-based rules, and mathematical operations, providing flexibility in defining electricity prices. Below are some examples of how to use the Hashman scripting language for price definitions:

Simple market based contract

For a simpler market based contract, we can just use the spot price.

Simple fixed price contract

For a simple fixed price contract, we only need to specify "ExcessPowerPrice" which is otherwise the price which applies after "ContractedCapacity" is exceeded. In this case, the default ContractedCapacity is 0, so there is nothing else to specify.

Fixed price power contract

For a fixed price power contract, we need to specify four components:

1. ContractedCapacity - how much power is contracted (Watts, W; can be specified in kW or MW also)

2. UnusedPowerPrice- the price received for unused power per MWh

3. FixedCapacityPrice - the price paid for the contracted power per MWh

4.ExcessPowerPrice - the price paid for the excess power per MWh if ContractedCapacity is exceeded

Complex power price contract

This complex power price contract has multiple separate contracts for various timeframes and supports area price differences.

Some things to take into account when using the scripting language:

  • Functions available in SpotMarketPrice are min, and max. Otherwise, only +, -, *, / and WHEN statements can be used. The WHEN statement must always include a DEFAULT clause.

  • Numbers can optionally have units. If capacity units are present, they should be used, for example, 1 MW -equals one million W, etc.

  • For other quantities, use the profile price units, such as EUR/MWh or USD/MWh.

  • @titlecan be used for titles and # for comments

If you have any questions or need help, please send an email to contact@hashman.app

Last updated