A computer-implemented method for determining solvency of a digital asset exchange system, comprising: identifying, with at least one processor, a plurality of blockchain addresses corresponding to a plurality of users of the digital asset exchange system, each blockchain address of the plurality of blockchain addresses comprising a value generated by hashing a public key corresponding to a private key controlled by the digital asset exchange system, such that the public key and the private key are not exposed on a blockchain network; generating, with at least one processor, a first commitment to an amount of digital assets corresponding to the plurality of blockchain addresses; generating, with at least one processor, a second commitment to a balance of each user of the plurality of users; generating, with at least one processor, a first component of a zero-knowledge algorithm configured to receive, as input, the first commitment, and to output a value generated based on each public key corresponding to each blockchain address, such that the first component of the zero-knowledge algorithm proves to a verifying system that the digital asset exchange system has access to each public key corresponding to each blockchain address, wherein the first component of the zero-knowledge algorithm is a Boolean function; generating, with at least one processor, a second component of the zero-knowledge algorithm configured to receive, as input, the second commitment, and to output a value generated based on each user balance, such that the second component of the zero-knowledge algorithm proves to a verifying system that each user balance is included in the amount of digital assets, wherein the second component of the zero-knowledge algorithm is an algebraic function; and determining, with at least one processor, that the digital asset exchange system is solvent based on the zero-knowledge algorithm, said determining comprising determining if an output of the algebraic function is an input to the Boolean function. identifying, with at least one processor, a plurality of blockchain addresses corresponding to a plurality of users of the digital asset exchange system, each blockchain address of the plurality of blockchain addresses comprising a value generated by hashing a public key corresponding to a private key controlled by the digital asset exchange system, such that the public key and the private key are not exposed on a blockchain network; generating, with at least one processor, a first commitment to an amount of digital assets corresponding to the plurality of blockchain addresses; generating, with at least one processor, a second commitment to a balance of each user of the plurality of users; generating, with at least one processor, a first component of a zero-knowledge algorithm configured to receive, as input, the first commitment, and to output a value generated based on each public key corresponding to each blockchain address, such that the first component of the zero-knowledge algorithm proves to a verifying system that the digital asset exchange system has access to each public key corresponding to each blockchain address, wherein the first component of the zero-knowledge algorithm is a Boolean function; generating, with at least one processor, a second component of the zero-knowledge algorithm configured to receive, as input, the second commitment, and to output a value generated based on each user balance, such that the second component of the zero-knowledge algorithm proves to a verifying system that each user balance is included in the amount of digital assets, wherein the second component of the zero-knowledge algorithm is an algebraic function; and determining, with at least one processor, that the digital asset exchange system is solvent based on the zero-knowledge algorithm, said determining comprising determining if an output of the algebraic function is an input to the Boolean function.