A decentralized application (DApp) is software that runs on a decentralized network. The three primary characteristics of a DApp are that it is open source, it has a token-based economic model, and it uses a protocol that creates trustless interactions.