Published 9 June 2019

Using the Credits platform. Tracking the movement of ordered goods

Current market situation

Current market situation

At the moment, the main problem of modern transportation in logistics is the supply of customer information about the movement of goods by logistics service providers and their contractors. Databases on the movement of goods are not standardized, belong to individual companies and are not replenished quickly.

Postal services, indeed, don't work quickly, but the main difficulties begin when there is a need to use several postal services of different countries in which there is no through indexing of transported goods. For example, cheap 3PL services with AliExpress.

The problem of counterfeit products. At the moment, there are various solutions to combat counterfeiting: 2D barcode, barcode, hologram, various protective coatings, secret ink, micro printing, protective microelements, radiofrequency identifiers, and protective self-adhesive labels. The above methods do not allow to say that the problem is solved completely.  



Thanks to the performance of the Credits platform (1.3 million transactions per second), it can be used to implement an idea where each item must have a unique tracking code that allows you to uniquely identify it.

Using Credits solutions will increase reliability by updating the product information at every stage of its life cycle from the manufacturer to the buyer to understand its characteristics, status, involved counterparties and exclude sale of counterfeit or re-sale of the goods already sold.

For example, in the simplest case it can be RFID (also NFC-tags can be used), which is attached to the goods. The code is associated with the identification of the product (color, weight, product number, lot number, photo, date and place of production, manufacturer, etc.), which are recorded in the Credits blockchain. This record of product data doesn't allow you to change its characteristics at any time and you will be able to trace the whole way of movement of the goods.

RFID is widely used in logistics, in retail, in personnel authentication systems. In all these cases, RFID associates some physical object (such as an item in a warehouse) with digital attributes (such as product description, cost, date, and shipment order). In this sense, RFID technology is similar to barcode in function, but has significant advantages in operation and allows the use of more complex, cryptographic protocols.

Track a product by a unique number or code. The main distinguishing feature in this case is the generation of a unique code as the number of the Credits blockchain wallet, to which all logistic information is in bound. The wallet number is unique.

For food producers and consumer goods, companies can create "digital passports" on the Credits blockchain. Developers are sure that transparency will increase responsibility of brands to consumers and attract the attention of society to the problem of origin of materials and ingredients. It will help businesses and consumers save resources on the fight against counterfeit products.

Equal access to monitoring data allows to:

  • reduce the costs of
    • audit
    • insurance
    • funding for supplies
  • cost reduction
    • missing goods
    • damaged goods

Implementing a simple smart contract

Implementing a simple smart contract

import com.credits.scapi.v0.SmartContract;
import java.util.ArrayList;


public class Contract extends SmartContract {
   private final ArrayList<Geo> geoList;



public Contract() {
   geoList = new ArrayList<>();


public void saveGeo(int productId, String latitude, String longitude) {
   geoList.add(new Geo(productId, latitude, longitude));


public ArrayList<Geo> loadGeo() {
   return geoList;


public int geoListSize() {
   return geoList.size();


public static class Geo implements Serializable {
   private final int productId;
   private final String latitude;
   private final String longitude;

   public Geo(int productId, String latitude, String longitude) {
      this.productId = productId;
      this.latitude = latitude;
      this.longitude = longitude;


Votes 0, average rating 0