A system for providing non-repudiation and data integrity of communications in ad sales online, the system comprising one or more servers communicably connected to a communications network, the one or more server including at least one processor configured for: - receiving, from a first party, an ad request for an ad impression available for sale, wherein the ad request includes a plurality of attributes associated with the ad impression and a first cryptographic proof that provides non-repudiation and data integrity of the ad request; - authenticating non-repudiation and data integrity of the ad request by querying a blockchain wherein the blockchain is comprised in the system and comprises a public key infrastructure: - accessing (528, 529) a database of second parties seeking to purchase ads online, wherein the database stores attributes associated with each second party; - matching the ad request with a selected second party in the database based on the attributes associated with each second party in the database and the attributes associated with the ad impression of the ad request; and, - transmitting, to the first party, a message comprising an ad for the selected second party and a second cryptographic proof associated with the second party that provides non-repudiation and data integrity of the message, so as to fill the ad impression with the ad for the selected second party. wherein the public key infrastructure comprises a public key associated with the first party; wherein the public key infrastructure authenticates the first cryptographic proof against the public key associated with the first party; wherein the first cryptographic proof comprises a third cryptographic proof of the first party 110; and wherein the public key infrastructure authenticates the third cryptographic proof of the first party against the public key associated with the first party. - receiving, from a first party, an ad request for an ad impression available for sale, wherein the ad request includes a plurality of attributes associated with the ad impression and a first cryptographic proof that provides non-repudiation and data integrity of the ad request; - authenticating non-repudiation and data integrity of the ad request by querying a blockchain wherein the blockchain is comprised in the system and comprises a public key infrastructure: - accessing (528, 529) a database of second parties seeking to purchase ads online, wherein the database stores attributes associated with each second party; - matching the ad request with a selected second party in the database based on the attributes associated with each second party in the database and the attributes associated with the ad impression of the ad request; and, - transmitting, to the first party, a message comprising an ad for the selected second party and a second cryptographic proof associated with the second party that provides non-repudiation and data integrity of the message, so as to fill the ad impression with the ad for the selected second party. - accessing (528, 529) a database of second parties seeking to purchase ads online, wherein the database stores attributes associated with each second party; - matching the ad request with a selected second party in the database based on the attributes associated with each second party in the database and the attributes associated with the ad impression of the ad request; and, - transmitting, to the first party, a message comprising an ad for the selected second party and a second cryptographic proof associated with the second party that provides non-repudiation and data integrity of the message, so as to fill the ad impression with the ad for the selected second party. wherein the public key infrastructure comprises a public key associated with the first party; wherein the public key infrastructure authenticates the first cryptographic proof against the public key associated with the first party; wherein the first cryptographic proof comprises a third cryptographic proof of the first party 110; and wherein the public key infrastructure authenticates the third cryptographic proof of the first party against the public key associated with the first party.