WHY?
We believe that the world of media will belong to thousands of decentralized publishers, currently known as influencers. Influencers have problems to trust intermediaries, as they are not sure if they will be paid and many companies are lacking credibility and transparency.
As a leader in the influencer marketing industry we want to be a step ahead and so we have decided to answer this need.
HOW?
A secure and non-trusting way – enabling them transparent and effortless cooperation with brands via the indaHash platform and campaigns based on smart contracts with IDH as a fuel.
WHAT?
The world’s first online influencer marketing settlement system based on blockchain and indaHash Coin.
We are now publishing this document to present to our crypto-community the principles of operation of this revolutionary technology!
Overview
The Smart Contract
Overview
Lifecycle
Functionality
The Brand
The Influencers
The Moderators
Anyone
Methods
Read-only
Not read-only
The API
Overview
Blockchain congestion
Methods
Example calls
The lifecycle of the new indaHash Campaign will be overwatched and controlled by a Smart Contract powered by blockchain technology.
All Smart Contracts and their activity is publicly visible to the parties participating in the campaign, which increases transparency of the campaign.
The Smart Contract will have built-in escrow functionality, protecting the influencers and the brands from losing their funds.
indaHash Coin will be used as the currency of the Campaigns.
A new dedicated instance of Smart Contract will be created for every campaign created by the Brands.
Overview
One of the main responsibilities of the Smart Contract is to record the Campaign’s criteria and Influencer’s proposed content approved by the moderators. In the event of a potential dispute, it gives both parties indisputable proof of what had been promised and agreed on. This proof cannot be fiddled with, even by the moderators.
Another important responsibility is to escrow the funds and pay out Influencers’ funds (or issue refunds for the Brand).
One instance of the Smart Contract controls one indaHash Campaign.
Lifecycle
The Smart Contract’s lifecycle consists of the following states:
- Created
- Active
- Finalized
The Contract is initially in the Created state. It becomes Active when activated by the Brand. It can be Finalized after the Campaign ends, and all participating Influencers are either approved or rejected.
Functionality
This section describes the functionality of the Smart Contract, grouped by the actor that initiates the transaction.
- Change the state of the Campaign’s lifecycle – create, activate and finalize
- Increase funds of an ongoing Campaign
- Confirm and reserve payout for an Influencer that requested to join the Campaign
- Request to join the Campaign (with content approved in premoderation)
- Approve an Influencer and pay out funds
- Reject an Influencer and issue a refund
Methods
The functionality described above will be implemented by methods listed in this section.
Read-only methods can be called by anyone and do not cost any transaction fees. These functions return value immediately (transactions do not need to be mined).
Name | Description |
criteria() | Returns the criteria specified by the Brand |
funds() | Returns total amount of funds staked by the Brand |
fundsLeft() | Returns amount of funds left for reserving for Influencers joining |
state() | Returns the lifecycle state of the Campaign |
Not read-only
These methods cost a small amount of transaction fee and take effect on the blockchain after some time (after block is mined).
Name | Payable | Description |
criteria() | no | Creates the Smart Contract |
activate() | yes | Activates the Smart Contract and stakes the funds |
finalize() | no | Finalizes the Smart Contract |
increaseBudget() | yes | Adds additional funds to the Campaign |
confirmInfluencer() | no | Allows the Influencer to join the Campaign and reserves payout for him |
approveInfluencer() | no | Approves the Influencer’s content and pays out reserved funds |
rejectInfluencer() | no | Rejects the Influencer’s content and refunds reserved payout |
Overview
The API provides an abstraction between the blockchain and the indaHash system. There are some limitations resulting from the fact that the API interacts with the blockchain:
- Some API calls will cost a small amount of Ether (transaction fee).
- Changing the state of the Smart Contract will take some time to be applied on the blockchain (after the block is mined).
The API requires an Ethereum node and Internet access for connecting to the blockchain.
Methods
Because the transactions on the blockchain take time to be mined, the POST calls return the transaction’s hash (TX). The state of the transaction can be determined by the getState() call.
Most methods require passing the Campaign’s ethereum address (CA), which can be determined by the getAddress() call, passing the TX of a mined create() transaction.
Signature | Type | Parameters | Description | |
/transaction /getState | GET | TX | Returns if the transaction has been completed (mined) on the blockchain | |
/state /create | POST | CA, funds | Creates new campaign (deploys new Smart Contract). | |
/state /activate | POST | CA | Activates and tops up the campaign. | |
/state /finalize | POST | CA | Finalizes the campaign. | |
/campaign /getAddress | GET | TX | Retrieves campaign address (CA). | |
/campaign /increaseFunds | POST | CA, funds added | Tops up campaign with additional tokens. | |
/campaign /getInfo | GET | CA | Returns all available information about the campaign | |
/influencer /confirmForChallenge | POST | CA, payout, Influencer address | Confirms the influencer for the challenge.Payout is reserved. | |
/influencer /approveAndPayout | POST | CA, Influencer address | Approved the influencer, pays out the reserved funds. | |
/influencer /rejectAndRefund | POST | CA, reason, Influencer address | Rejects the influencer, issues a refund for the Brand | |
/influencer /quitChallenge | POST | CA, Influencer address | The Influencer can quit after being confirmed for the challenge. Influencer can then join again only once. |
Example calls
We’re looking forward to this implementation of blockchain technology within the indaHash Coin ecosystem and believe this will be a true game-changer in the field of influencer marketing!