A computer implemented method of offering an exchange of an entity, the method comprising: generating a first script, the first script comprising: a first set of metadata associated with a first invitation for the exchange of a first entity by a first user, the first set of metadata comprising an indication of the first entity to be offered for exchange and a first location condition for the exchange, the first location condition comprising location information indicative of a geographical location or area for the exchange of the first entity, a first user public key (PI A) associated with the first user, wherein the first user public key (P1A) is part of an asymmetric cryptographic pair comprising the first user public key (P1A) and a first user private key, hashing the first script to generate a first script hash; publishing the first script and the first script hash on a distributed hash table; matching the first invitation of the first script to a second script that is published on the DHT by comparing at least the first entity specified in the first script with a second entity specified in the second script, wherein the second script comprises a second set of metadata associated with a second invitation for an exchange of a second entity by a second user, the second set of metadata comprising: an indication of the second entity to be offered in exchange for the first entity; and a second user public key (P2A) associated with the second user, wherein the second user public key (P2A) is part of an asymmetric cryptographic pair comprising the second user public key (P2A) and a second user private key (V2A), and determining whether the location condition is fulfilled by: identifying, by means of a GPS reading, a location of the first user and/or the second user, and comparing the identified location with the location or area indicated by the location information comprised in the location condition. generating a first script, the first script comprising: a first set of metadata associated with a first invitation for the exchange of a first entity by a first user, the first set of metadata comprising an indication of the first entity to be offered for exchange and a first location condition for the exchange, the first location condition comprising location information indicative of a geographical location or area for the exchange of the first entity, a first user public key (PI A) associated with the first user, wherein the first user public key (P1A) is part of an asymmetric cryptographic pair comprising the first user public key (P1A) and a first user private key, a first set of metadata associated with a first invitation for the exchange of a first entity by a first user, the first set of metadata comprising an indication of the first entity to be offered for exchange and a first location condition for the exchange, the first location condition comprising location information indicative of a geographical location or area for the exchange of the first entity, a first user public key (PI A) associated with the first user, wherein the first user public key (P1A) is part of an asymmetric cryptographic pair comprising the first user public key (P1A) and a first user private key, hashing the first script to generate a first script hash; publishing the first script and the first script hash on a distributed hash table; matching the first invitation of the first script to a second script that is published on the DHT by comparing at least the first entity specified in the first script with a second entity specified in the second script, wherein the second script comprises a second set of metadata associated with a second invitation for an exchange of a second entity by a second user, the second set of metadata comprising: an indication of the second entity to be offered in exchange for the first entity; and a second user public key (P2A) associated with the second user, wherein the second user public key (P2A) is part of an asymmetric cryptographic pair comprising the second user public key (P2A) and a second user private key (V2A), and an indication of the second entity to be offered in exchange for the first entity; and a second user public key (P2A) associated with the second user, wherein the second user public key (P2A) is part of an asymmetric cryptographic pair comprising the second user public key (P2A) and a second user private key (V2A), and determining whether the location condition is fulfilled by: identifying, by means of a GPS reading, a location of the first user and/or the second user, and comparing the identified location with the location or area indicated by the location information comprised in the location condition. identifying, by means of a GPS reading, a location of the first user and/or the second user, and comparing the identified location with the location or area indicated by the location information comprised in the location condition.