News from the project

NFT Integration Lands in bpmn-js

Published by Nico Rehwaldt on Friday, 01 April 2022.


April Fools' Notice

This post is a joke and features announced are not part of our mid-term planing and/or official releases. You still think we mentioned something useful? Do not hesitate to give us feedback @bpmn_io or via our project forums.

We're excited to announce native NFT support in bpmn-js: Create NFTs from your BPMN diagrams, marvel at others' BPMN creations, and incorporate what works for you into your own BPM story. Integrating NFTs directly into our tooling will do wonders for the BPM ecosystem we envision.

Non-fungible tokens (NFTs) represent digital assets and get published and sold via online marketplaces. Own an NFT and claim that you own the underlying digital asset. Own the NFT of your company's invoice process, and claim you own the process itself.

With the new version of bpmn-js we ship a native integration of NTFs into the core modeling experience:

Looks like someone already minted our What if your hungry process.

Using the built-in NFT integration, you can:

  • Connect your wallet (OpenSea currently supported)
  • Browse published NFTs, remix the underlying BPMN diagrams in your processes
  • Publish your own BPMN diagram to create ("mint") an NFT from it

Will you be the first one to mint your company's invoice process?

But Why?

NFTs are doing a lot for an open BPM ecosystem: They are publicly browseable, digital asset-backed tokens.

NFTs are public: Their ownership needs to be documented in public so everyone can verify it.

The underlying asset shall be public: It makes little sense to brag about your ownership of your company's invoice process if you do not show it off.

These two properties make NFTs (and their exchanges, e.g., OpenSEA) the perfect foundations for BPMN diagram exchange. You can brag about your ownership of process X and trade it with your peers. At the same time, others can learn from it and improve the world with better BPMN diagrams.

Connecting your Wallet

There are two ways to connect your wallet to our NFT integration, pre-configured or in the browser.

The simplest thing is connect it in browser. By doing so you can leverage existing Web3 browser extensions you already have installed:

Connect your wallet via our UI. As simple as this.

The advanced use-case is to configure the wallet globally, per modeler instance:

import BpmnModeler from 'bpmn-js/lib/Modeler';

const modeler = new BpmnModeler({
  container: '#canvas',
  nft: {
    wallet: {
      provider: 'opensea',
      network: '',
      apiKey: 'YOUR_API_KEY'

We're sure you do this in trusted environments only!

More to Come?

As we have shown, crypto can deliver real value. Our first iteration focused on diagram exchange, built on top of NFTs. But what else is possible once you connect your wallet?

Two exciting things immediately come to mind:

  • You build it, you profit: Next-generation monetization of your processes (usage-based and enforced via smart contracts).
  • The classic: Mine Bitcoins as you model BPMN and see who finished first (you or the friendly miner in the background).

We hope you'll follow along on our crypto journey.

Did we miss anything? Did you spot a bug, or would you like to suggest an improvement? Reach out to us via our forums, toot us on Mastodon or file an issue you found in the bpmn-js issue tracker.

Get the latest BPMN modeling toolkit pre-packaged or as source code via npm or unpkg.

Are you passionate about JavaScript, modeling, and the web?
Join Camunda and build modeling tools people heart.