Skip to main content

Deployment Config (acurast.json)

Every Acurast project has an acurast.json file that describes how the deployment should run: which script to execute, which network to target, how many processors, how long, and under which limits. This page is the full field reference.

You can create it interactively with acurast init — see the CLI docs for the command walkthrough.

Example

{
"projects": {
"example": {
"projectName": "example",
"fileUrl": "dist/bundle.js",
"network": "mainnet",
"onlyAttestedDevices": true,
"enableDevtools": false,
"assignmentStrategy": {
"type": "Single"
},
"execution": {
"type": "onetime",
"maxExecutionTimeInMs": 10000
},
"maxAllowedStartDelayInMs": 10000,
"usageLimit": {
"maxMemory": 0,
"maxNetworkRequests": 0,
"maxStorage": 0
},
"numberOfReplicas": 64,
"requiredModules": [],
"minProcessorReputation": 0,
"maxCostPerExecution": 100000000000,
"includeEnvironmentVariables": [],
"processorWhitelist": [],
"mutability": "Immutable",
"reuseKeysFrom": null
}
}
}

Fields

FieldDescription
projectNameThe name of the project
fileUrlPath to the bundled file including all dependencies (e.g., dist/bundle.js)
networkNetwork for deployment (e.g., mainnet, canary)
onlyAttestedDevicesOnly allow attested devices to run the app
enableDevtoolsEnable DevTools for the deployment. Defaults to false
startAtStart time — either { msFromNow: number } or { timestamp: number }
assignmentStrategy"Single" (one set of processors) or "Competing" (new processors per execution)
execution"onetime" or "interval" with intervalInMs, numberOfExecutions, and maxExecutionTimeInMs
maxAllowedStartDelayInMsMaximum allowed start delay in milliseconds
usageLimitLimits for maxMemory, maxNetworkRequests, and maxStorage (in bytes)
numberOfReplicasHow many processors run the deployment in parallel
requiredModulesModules the processor must support (e.g., ["DataEncryption"])
minProcessorReputationMinimum required processor reputation
maxCostPerExecutionMaximum cost per execution in the smallest denomination of ACU
includeEnvironmentVariablesEnvironment variables from .env to pass to the deployment. See Environment Variables
processorWhitelistWhitelist of processor addresses
minProcessorVersionsMinimum processor versions (android, ios)
mutability"Immutable" (default) or "Mutable" — controls whether the deployment can be modified after creation
reuseKeysFromReuse keys from a previous mutable deployment. Format: ["Acurast", "address", deploymentId]

.env

Secrets and environment variables for the CLI/SDK (not to be confused with deployment-runtime env vars — see Environment Variables).

ACURAST_MNEMONIC=abandon abandon about ...
# ACURAST_IPFS_URL=https://api.pinata.cloud
# ACURAST_IPFS_API_KEY=eyJhb...
# ACURAST_RPC=wss://...
VariableRequiredDescription
ACURAST_MNEMONICYesMnemonic for the deployer account. Must have ACU (or cACU on canary). Claim cACU on the faucet
ACURAST_IPFS_URLNoIPFS gateway URL (e.g., https://api.pinata.cloud)
ACURAST_IPFS_API_KEYNoAPI key for the IPFS gateway. Register here
ACURAST_RPCNoCustom RPC URL

See also