What is Counterparty?
Counterparty is a platform for user-created assets on Bitcoin. It’s a protocol, set of specifications, and an API. Taken together, it allows users to create and trade assets on top of Bitcoin’s blockchain.
In this way, Counterparty is similar to platforms like Waves or Ethereum. Of course, the difference is Counterparty integrates directly with Bitcoin. Therefore, it comes will all the security and reliability (and issues) that are part of the Bitcoin blockchain.
This is a fairly old project. In fact, it pre-dates Ethereum with its launch in 2014. It was the original asset creation mechanism. As you’re probably aware, Counterparty has faded from prominence over the years. This is largely due to the rise of the ERC-20 token standard on Ethereum.
However, it is still a living project under active development. Recently, it integrated support for contracts, allowing assets to be traded based on rules in a similar way to Ethereum’s smart contracts. Since Bitcoin is such a powerful network, this project still deserves attention. Nevertheless, it doesn’t seem likely to overthrow Ethereum anytime soon, nor does it try to.
Defining a Counterparty
It’s useful to look at where the name, Counterparty, comes from. In finance and economics, a counterparty is simply the second participant in a transaction. In order for a transaction to exist, there have to be two parties. You can’t trade with yourself, and you can’t magically change one asset into another without someone else as part of the exchange.
Every buyer of an asset has to find a seller, and vice versa, in order for commerce to exist. Since the project helps create assets, exchanges, and markets for new ideas they see themselves as simplifying the process of finding a counterparty for your transaction.
While we’ve become used to calling blockchain assets, tokens, it doesn’t necessarily have to be the case. An asset can represent anything that has value or is rare. As a result, Counterparty steers clear of the word “token” in their marketing and documentation. They’re much more interested in digital assets of all kinds, not just currencies, securities, and utility tokens.
Digital assets can be a digital marker of a physical object, an easy way to manage shares in your company, or reputation karma for a website. These are all types of assets you could create on Counterparty (or Ethereum or Waves, for that matter).
Counterparty creates the set of rules, requirements, integrations, etc that are necessary for assets on the Bitcoin blockchain. It’s the infrastructure behind user-created assets in much the same way that the ERC-20 protocol sets up guidelines and standards for asset creation on Ethereum.
One clear advantage of Counterparty, however, is that it’s Bitcoin aware. Since it’s on the Bitcoin blockchain, it can use information from Bitcoin in executing its contracts.
On the other hand, transactions on Counterparty have to pay mining fees on Bitcoin for all their transactions, in much the same way that ERC-20 tokens pay ETH gas to manage their token contracts.
Decentralized Exchange of Assets
Counterparty also claims to operate the first successful decentralized exchange. You can use this exchange to trade various assets on the platform. This is a big deal because most exchanges require a central institution to facilitate the matching of maker and taker pairs. Those institutions also typically charge processing fees for facilitating such transactions.
When you use a centralized exchange, you have to trust that third party with your funds, including giving access to release those funds when a match is made. On a decentralized exchange, however, you keep control of your funds throughout the entire process.
Decentralized exchanges are no longer so uncommon. Anywhere a platform hosts multiple assets, like Ethereum, Waves, or Counterparty, a decentralized exchange is likely to pop up. In the future, we’ll see decentralized exchanges with cross-platform support, so trades can be accomplished via smart contracts and atomic swaps on different chains.
Paying Distributions to Asset Holders
One useful function of digital assets is as a marker of ownership or voting rights. Imagine a scenario where you issued a digital asset to each of your company’s board members in proportion to the amount of voting power held. Or if you gave your stockholders a digital asset as a marker of the amount of stock they owned.
If you issued your stock asset, you could then use Counterparty’s distribution function to pay out dividends in BTC based on the amount of digital stock asset each person owned.
You can also execute voting contracts on Counterparty. Simply issue a voting token (distributed by voting share) and instruct your voters to send their tokens to different specified contract addresses based on whether they’d like to vote yes or no. Whichever contract receives the most voting tokens would be the winner.
Contracts on Counterparty
More recently, Counterparty has implemented complete contracts for digital assets on its platform. You can set these contracts to execute based on inputs from users or outside information provided by oracles.
As a result, you can recreate many financial instruments on Counterparty. Stock options, bets, escrow, futures trading and other financial transactions are all options.
Additionally, you can create an API integration for your smart contract to interface with your own software or other outside sources. The possibilities are seemingly endless.
These contracts operate in a similar way to Ethereum’s smart contracts and they even support Solidity, the programming language behind Ethereum contracts. That said, Ethereum is definitely the leader in smart contracts, and if you want to build a dApp that doesn’t need to interface with Bitcoin, other dApp platforms like Ethereum are probably a better choice.
Bitcoin recently launched its Lightning Network. This allows for transaction settlement in off-chain channels, creating instant transactions and lessening the load on the Bitcoin blockchain.
Counterparty will support Lightning Network transactions for its assets as well. They’re currently working on a solution.
In addition, Counterparty supports multisignature addresses. This means that multiple individuals or devices need to sign off on transactions or contracts before they execute. As a result, multisig support creates greater security and broader use cases for assets on Counterparty.
Development & Roadmap
Counterparty is an open source initiative. Developers and core team members have come and gone from the project over the years. There’s no “team” section to the website. Several professionals are affiliated with the project on LinkedIn, but all of them have other full-time jobs.
Previously, Counterparty had a partnership with Storj to issue the token for their decentralized storage solution. Storj has since left Counterparty for Ethereum, and the token issued on Counterparty is deprecated.
The roadmap moving forward for Counterparty is unclear.
Counterparty Token (XCP)
The XCP token launched in 2014 as the first asset on Counterparty and the project’s main value option. You use XCP to create new assets, make bets, and call back callable assets.
The token generation did not include an ICO. Instead, participants sent Bitcoin to an address (1CounterpartyXXXXXXXXXXXXXXXUWLpVr) to be burned. Proof of burn keeps token creation a revenue-neutral event since value is destroyed as value is created. They did this to keep the token allocation fair and decentralized. It also helps avoid legal issues that come with issuing a token.
How to Buy Counterparty (XCP)
XCP is open for trading on multiple exchanges. The primary pairing is with BTC, which makes sense since Counterparty is on the Bitcoin blockchain. If you don’t have BTC already, you’ll need to purchase some before you can buy XCP.
Where to Store Counterparty (XCP)
Counterparty has its own GUI wallet known as Counterwallet. Since the project is open source, there are other wallets you can use as well. All the wallets are available on the website’s downloads page.
Counterparty addresses many of the same issues as Ethereum or Waves, but on the Bitcoin blockchain. While that does come with some advantages, ultimately it is not as strong a platform for development as its competitors. It’s best suited for applications that need to interface with Bitcoin or assets that have a specific connection to the Bitcoin ecosystem.