xCFD is a decentralized CFD platform built on UMA. It's currently in beta, with a mainnet V1 coming soon!

Demo Video Live Demo Source Code





xCFD is a dApp bringing CFDs to DeFi, and it's the first of its kind. The objective of xCFD is to help broaden DeFi adoption by migrating traditional financial products into the DeFi ecosystem, specifically CFDs. This is currently a beta/proof-of-concept, but a mainnet V1 is already in the works. xCFD CFDs work slightly differently than traditional/CeFi CFDs, but are fundamentally the same. The buyer of a CFD pockets the difference in the underlying price of that contract between the contract's opening date and closing date IF the difference is negative (if the price went up). Short CFDs are not yet available - only long CFDs. If the difference is positive (if the price went down), then the buyer of the contract loses money. Losses may not exceed principal as all positions are unleveraged. Some key logistics: 1) Expiration: All of the CFDs on this platform have expiration dates, and can only be purchased long at the moment. Additionally, only $ETH is supported, but soon many more tokens (if not all security tokens) will be supported as well. 2) Collateral: Also, all of the CFDs on this platform require a minimum of 120% collateral. 3) Liquidation: CFDs expire and auto-liquidate at 10:00 P.M. UTC on the expiration date, but may also auto-liquidate if the value of a contract's collateral is less than the requirement of 120%. 4) Monetization: With a plan to apply for UMA's developer mining platform for monetization, xCFD takes no platform/broker fees or cuts, although users must supply Ethereum network gas fees and $ETH collateral. In no particular order, here is the V1 launch to-do list: -Enable purchasing short CFDs in addition to longs -Collateralize the entire portfolio, rather than each individual contract -Add options for buying CFDs of other tokens, if not any token -Add options for rolling over OTM positions before expiry -Bring xCFD to Mainnet -Bring xCFD to ENS/IPFS -Beautify the interface and add better mobile responsivity -Create a blog and/or Twitter account & index xcfd.org in search engines While working on a stable mainnet V1, I'll be active in the UMA Discord server and will be regularly maintaining the project. There's a lot of work that still needs to be done (this project could even be considered partial/incomplete as of now), but I'll be working on this actively! More information is available at: https://xcfd.org/docs IMPORTANT NOTE: There is no YouTube video as of submission due to a technical issue, but it's hosted on the project website in case I cannot get the issue resolved between submission and judging.

How It's Made

This project has a normal informational website at https://xcfd.org with a dApp at https://app.xcfd.org, which will also be available on ENS/IPFS when V1 launches. Both have a Svelte front-end and the dApp uses a Solidity "back-end", with Ethers.js as a bridge between xCFD/UMA smart contracts and the xCFD dApp. The platform is built primarily on UMA, particularly the ExpiringMultiParty contracts.


Nathan Clark
← click here to see all projects