Skip to content

Job Pricing Controls

Steve Ellis edited this page Dec 10, 2019 · 1 revision

To specify pricing for a job we have a global configuration called MinimumContractPayment and it is set by the environment variable MINIMUM_CONTRACT_PAYMENT. MinimumContractPayment sets the floor of what a node is willing to accept for a run request. MinimumContractPayment is currently only enforced for runs that are initiated from the blockchain, specifically runlog and serviceagreementexec initiated runs.

On top of the MinimumContractPayment amount, additional costs can be added to a job's minimum payment by attaching prices to the External Adapter Bridges. When creating an External Adapter Bridge, a payment amount can be added to that adapter. For each Job that the Bridge's Adapter is used on, the cost of that Bridge is added to the MinimumContractPayment. If the Bridge is listed for multiple tasks, the cost of the Bridge is added multiple times.

Finally, a Job specifies a minPayment field in the top level of the specification, then the price listed there takes precedence over all of the above fields and configuration.