Centrifuge Tokenized Invoices as Collateral For Dharma Loans

Centrifuge Payment Obligation NFTs are accepted as collateral for Dharma Debt Orders


  • We minted an invoice NFT on Kovan testnet — this NFT was the first non crypto-native collateral used for a Dharma debt order.
  • The loan principal was paid in wrapped ETH.
  • This was done using Centrifuge’s OS alpha version which will be released end of October

The Problem

At any given time, millions of businesses small and large are waiting to be paid by their customers. To be more precise, at this very moment, more than USD 30 Trillion are locked up in outstanding payments. As a result, businesses worldwide struggle with access to cash and as a consequence, are either not able to grow, or even worse, in risk of not being able to pay their own bills and salaries.

In average, companies in Europe and North America wait 59 days and even more in other regions to get paid by their customers. Traditional factoring, loans and credit card borrowing are some ways for businesses to bridge such a liquidity gap. Unfortunately, those financial services are not available for the majority of suppliers worldwide. [1]

On the other hand, the last few years have seen an unprecedented advance in decentralized infrastructure, and with this, a global decentralized pool of liquidity for assets that can be represented on these public, global networks. Currently, these two worlds seem to exist in parallel universes. We intend to change this.

Centrifuge OS makes the previously illiquid assets crypto-native and brings them to Ethereum. On Ethereum, Dharma Protocol facilitates financing of these assets. The combination of these two solutions is one building block for the decentralized financial system of the future by bridging the gap between businesses seeking funding and a global, decentralized liquidity pool.

Centrifuge Makes Invoices Crypto-Native (with Non-Fungible Tokens)

Centrifuge is a protocol that allows businesses to exchange documents of the financial supply chain (invoices, purchase orders, company master data, etc.) in a private, verifiable, and secure way while supporting on-chain document validation and decentralized access to data on Ethereum. Documents are exchanged in an off-chain protocol implemented on a scalable and secure P2P network with libp2p while relying on Ethereum as the public blockchain infrastructure for identities and tokenization of the off-chain assets.

Assets are represented on Ethereum as NFTs following the ERC-721 standard. Centrifuge users can mint tokens for their off-chain documents. A token can be minted by anyone who can prove their claim to a document. The document then receives all of the benefits of standard on-chain NFTs, while all private information stays off-chain.

By converting these off-chain assets to on-chain tokens, we have completed the first step of bridging the gap between businesses looking for liquidity for their invoices and receiving on-chain, decentralized funding by *any* funder who is interested in financing such an asset. Now, how do both parties find out about each other?

Dharma for Funding of Unpaid Invoices

In order to let businesses access a global, decentralized liquidity pool, their loan requests and assets need to be made available to investors. Dharma is a protocol that enables decentralized origination, underwriting, issuance, and administration of tokenized debt assets. It does so by providing a suite of contracts on Ethereum, API definitions, and standardized flows between debt issuers, underwriters, and the relayers who post a tokenized version of the debt. This aims to create a liquid, decentralized market for those debts that will allow for better discovery mechanisms, transparent pricing, and fair conditions for businesses and investors alike.

Financing Centrifuge OS invoices on Dharma is a logical integration to build the decentralized financial supply chain. Integrating both protocols combines decentralized, tokenized representation of assets of the financial supply chain (in this case the invoices) and a decentralized platform to underwrite, issue, and administer invoice financing.

How we did it

When users of Centrifuge OS exchange invoices, purchase orders, and other documents, they automatically have the ability to create a tokenized version of their documents on Ethereum. Centrifuge provides a set of on-chain NFT registries to represent these financial documents.

To support a supplier with access to liquidity for an invoice that has been sent through Centrifuge OS, the supplier mints a token that represents the payment obligation of a specific invoice — a Payment Obligation NFT. This follows our standard on privacy enabled NFTs as described in the technical paper.

After minting the Payment Obligation NFT, the supplier can use this NFT as collateral for financing through Dharma. Dharma has been working on adding support for ERC-721 tokens as collateral for debt orders and recently deployed this update to Kovan testnet. With this new version, Centrifuge and Dharma can integrate seamlessly using the ERC-721 standard to represent on-chain assets for the flow from invoice creation up to the final payment.

While the principal of the loan was defined in ETH (Kovan WETH), in the future using Dai instead of ETH removes the exchange rate risk for borrower and funder alike and is supported by Dharma Debt Orders.

To learn more about how decentralized underwriting and financing of loans works, please have a look at the Dharma white paper.

The transaction that filled the debt order with our invoice as collateral on Kovan can be found here.

The Kovan transaction used to fill the Dharma Debt Order with a Centrifuge Payment Obligation ERC-721 (CENT_PAY_OB) transferred to this transaction.

Next: Open Source Release

This is a sneak peek of what we’ve been up to over the last months and we are very excited that we are are releasing the code that has enabled this into the open source community by end of October. If you want to learn more about the minting process and how to integrate with other projects join our next meetup on Oct 25th at Full Node in Berlin.


The Centrifuge-Dharma integration plays into the spirit of the #DeFi community. #DeFi is a shared community for projects developing open source financial primitives. There is a substantial overlap in problems that decentralized finance protocols are trying to solve, so why not tackle them together by forming an open community of like-minded projects. At Centrifuge, we are building the platform for the decentralized financial supply chain. One part of that is a protocol to exchange and tokenize financial documents so they can be used in an open, decentralized financial system while maintaining data privacy. Centrifuge helps to turn off-chain documents into on-chain assets. Dharma then provides access to a decentralized, global liquidity pool.

If you share our vision in #DeFi and would like to spend a day learning more about it and connecting with other community members, please join us in Prague on the 29th of October for #DeFI Summit Prague.


Correction: This article initially falsely stated that the principal was denoted in Dai whereas this was not done so in the initial test transaction.

Thanks to Maya Byskov Gadegård, Lucas Vogelsang, Philip Stehlik, Manuel Polzhofer