Key Concepts in Polkadot JAM

Last Modified:
April 2, 2025

Quick Summary

In this guide, you'll learn the basics of Polkadot Jam, including:

  • Services
  • Work Items
  • Work Packages
  • Accumulator
  • Cores
  • Coretime
  • PVM



Rather than being just another protocol update, Polkadot JAM reimagines the relay chain as a flexible, permissionless system built to scale blockchain workloads efficiently. It’s designed to meet the evolving needs of developers by prioritizing scalability, modularity, and the freedom to build without constraint. JAM replaces the existing relay chain with a more powerful and developer-friendly system. But to build effectively on JAM, it helps to first understand its core concepts.

Services ⚡️

In JAM, the main building blocks are called services. These are like smart contracts but more powerful. Services can do many things: they can act like apps, handle logic for a parachain, manage user interactions, or even run governance systems, depending on how you design them. They are permissionless to deploy, so you can build and release your own service whenever you want.

Work Items and Work Packages 📦

nstead of user-submitted transactions, services receive work items. These are structured units of input, grouped into work packages, and submitted off-chain. This design decouples execution from global congestion and removes the need for mempools or gas auctions, making JAM much leaner and more scalable.

Service Entry Points 📥

JAM separates how it processes information into two distinct phases: Refine and Accumulate—plus a messaging system called onTransfer. Each plays a different role in how computation is handled.

  1. Refine – Handles stateless computations off-chain. It transforms input (work items) into output (work results) in a predictable and efficient way.
  2. Accumulate – A stateful, on-chain function that integrates work results into the global state.
  3. onTransfer – Handles asynchronous messages and token transfers between services.

Anyone can permissionlessly add services to the chain by specifying these three entry points. Together, they make the network more efficient and flexible.

The Accumulator: Finalizing State Changes ⚙️

After work items are refined, they must be finalized on-chain. That’s where the accumulator comes in. This component takes the output of Refine, called work results, and commits them to the chain’s global state through Accumulate.

Accumulate is where all stateful actions happen: writing to storage, transferring DOT, calling other services, creating new services, and more. It’s optimized for speed and designed to scale through parallel execution, ensuring services can update state without slowing down the rest of the network. 

Cores: JAM’s Parallel Execution Engine 🧮

In JAM, cores are like individual virtual CPUs offering dedicated slots to process work. Rather than making the entire blockchain handle every transaction, JAM spreads work across multiple cores. Services operate independently and simultaneously without interfering with each other.

This design is especially important for high-demand applications like gaming apps or data-heavy services. Developers don’t need to manage each individual core manually since JAM handles all the scheduling behind the scenes using coretime.

Cores give JAM more flexibility; each core offers as many or as few slots as a project needs.
Image Source: Polkadot Wiki

Coretime 🕒

Coretime is Polkadot’s more flexible approach to allocating blockspace. Instead of locking up large amounts of DOT to bid for long-term parachain slots, projects can now rent blockspace in smaller increments, such as by the block, or for just a few days, weeks, or months. You can launch a limited-time application, test new features, or run experiments without committing to a long-term lease. 

Coretime also makes JAM more accessible by giving smaller teams and solo developers access to Polkadot’s secure infrastructure without needing major funding.  Unlike the older system where parachain slots were sometimes underutilized due to fixed leases, Coretime uses dynamic scheduling to allocate resources based on real-time demand. Projects can scale up when needed or release unused coretime to save costs, and this helps make the network more efficient overall. 

Polkadot Virtual Machine (PVM) 💻

One of the most important upgrades in JAM is the introduction of the Polkadot Virtual Machine (PVM), where all computation happens within the JAM system. It lets you run JAM across many different types of devices, and is designed to be efficient to run and easy to customize to fit the unique needs of different systems. 

Altogether, these upgrades make JAM so powerful and efficient. Wheatever you're building, JAM provides a solid foundation to make it happen.