Skip to main content


Consumers or Developers are the ones that are in need of computation for their applications. Consumers can define in accessible Javascript code their requirements and get access to computational resources through the Acurast Marketplace by being matched with Processors.

The so-called Acurast Jobs are executed by Processors in their Trusted Execution Environment that provide the Output of the Job and a Proof of Execution to the defined destination chain.

Consumers can define their requirements in code and have access complete access to Acurast's Modules

Get Started

Get access to computational resources through the Acurast Console. Create a new address if you don't yet have one.

Not sure if your ecosystem is supported? Take a look at Ecosystems & Integrations.

  1. Go to the Acurast Console and log in with your Talisman Wallet or your PolkadotJS Extension.
  2. Fund Account - Get Testnet funds for your account with "Fund Account", to be able to create Jobs.
  3. Go to "Create Job" and select your destination, the ecosystem you're building in.
  4. Select an existing template, adapt it or write your own code that fits your needs. Test your code with "Test Code".
  5. Select your own Processor or use public ones.
  6. Define your execution schedule with the parameters such as start and endtime, interval etc.
  7. Specify your usage parameters.
  8. Specify your additional parameters such as the reward.
  9. Publish your Job and wait for your first fulfillment.


Code examples for the Acurast Enterprise module for off-chain data and computation.


Request from an API with the result of an asset price.

(response, certificate) => {
console.log("response", response);
const price = JSON.parse(response)["price"] * 10 ** 6;
console.log("price", price);
const payload = { price: price, timestamp: / 1000 };
const packedPayload = pack(payload);
const signature = sign(payload);
signature: signature,
certificate: certificate,
payload: packedPayload,
(response, certificate) => {},
(errorMessage) => {}
(errorMessage) => {}

Verifiable Randomness

Getting a randomized output from the Trusted Execution Environment.

return fulfill(generateSecureRandomHex());