On this page you will find a short description of the core components and concepts.
Use the menu's to go skip ahead into more detailed documentation.

Getting started#

Attrace is a decentralised affiliate marketing solution. The aim is to take out the mandatory centralised affiliate networks out of affiliate agreements. Therefore, we created a flexible solution that can take in account all factors in order to have an agreement between the affiliate parties with the right incentives.


Attrace strives to disrupt the affiliate marketing world by creating a self-optimising ecosystem with the right incentives for all parties involved in performance marketing deals.

These parties can be advertisers (merchants), publishers (affiliates), consultants, retargeting agencies, and many more. The solution takes out the middle man, which has multiple benefits:

  • Increase trust and transparency
  • Lower cost
  • Build a reputation-driven ecosystem to lower fraud
  • Work in affiliate marketing without having to process any private data so at all times GDPR compliant
  • Allow for more automation and new payment flows between a publisher, advertiser, consultant or any other party involved

The Attrace project is constantly evolving, and so is this documentation. If you are missing information or having an idea for an improvement, please feel free to help us to improve our documentation.


The Attrace network is based on two main principles:

1. All transactions are stored on the Attrace network, powered by a blockchain

In order to have transparency and build reputation, there needs to be insight in transactions done between affiliate parties. Attrace utilises the blockchain technology to store this data in a decentralised way, where independent servers (aka Witnesses) verify these transactions.

2. Every party is responsible for publishing its own transactions on the network

There cannot be a central middle man that is responsible to put the transactions on the network. Therefore, the publisher is responsible to make sure his clicks are on the network, the advertiser is responsible for pushing the conversions, etc. In order to do this, these parties need to have network connectors installed on their website.

Software Stack#

Attrace runs on three components that work together to support the decentralised affiliate network. Software stack


Witness nodes#

Witnesses are the heart of the network. They process transactions with operations and create new blocks which modify the state of the network. Blocks are validated and need to be accepted by the majority of the network before they become part of the blockchain. The network can be trusted because nodes are geographically and organizationally distributed and no single entity can have majority control. Node operators earn ATTR token for their services. Anybody can become a witness operator by getting a fast node elected.

Index nodes#

Index nodes provide aggregated data and allow you to build reports directly on the network without having to operate your own server. When you have high-volume contracts, you can run your own index node or rent one of the network nodes to index your traffic. The get you started, runs a fair-use index node with a 4-month data retention window.


A connector is the link between an affiliate party and the Attrace network. A connector is a server side component which is integrated into the websites of publishers and advertisers. They deliver an optimal affiliate experience which enforces trust and transparency best practices, by creating and publishing the transactions (i.e. clicks and sales) on the Attrace network.

The connectors are available in various languages, like PHP, Node and Go, and available through services such as composer an npm.


Plugins are out of the box solutions for various platforms, which include and implement the connectors. This means that by downloading and enabling the plugins from the store, an affiliate is ready to start doing business.

We support many platforms: Wordpress, WooCommerce, Laravel and more to come.

Serverless solutions#

In some occasions, the parties do not have a backend available to implement the connectors (like social influencers or solutions like WIX). For this Attrace developed so called 'Serverless solutions'. This technology allows a party to launch a minimal server that with a Node connector installed and configured, to publish its transactions on the network.



Agreements are light-weight contract configurations which define the rules under which certain publishers, advertisers and consultants agree to work together. Agreements are recorded on the blockchain and digitally signed by all involved parties.


Contracts are dynamic light-weight applications which execute workflows and payment rules as defined in the agreements. They are well-vetted, optimized and high-performant applications. Contract code has to be accepted by the network majority before it can be used. Once accepted, the contract will remain operational and are under long term support, so traffic is never lost.


An Account represents a private-public keypair which is accepted by the network. The Account address is created from the public key, usually encoded in base32 format, creating a 56-character string. Private keys can digitally sign transactions and through the public account address, the network can verify if transactions were signed by the right account. An account holds ATTR token.


Roots are the base data unit of the network, they are very light-weight state containers with conversion tracking state. A Root can have an optional parent root and can be modified by calling actions on it through the agreement contract. A "click" is represented on the network by a single Root, where every "sale" or "lead" conversion is again represented by a child-root which can independently change status through action calls.


Attrace has multiple networks active.


Betanet is the nickname for the live network on which the majority of witnesses agree, it consists at the time of writing of 9 active witnesses.

Only code which has been found very stable is proposed to the betanet. Witnesses decide if they run the new code or not.


Testnet is the nickname for a 7-node network on which the project proposes new builds which are expected stable with new features at a rapid pace.