WINGS API Specification and Guide for Custom ICO Contracts Integration

blog.wings.ai4y ago
Introducing the WINGS API Specification and Guide for Custom ICO Contracts Integration

Starting with Bancor’s Token Generation Event in June of 2017 until now the WINGS community has had been forecasting on the success of 44 Ethereum-based crowdfunding events to date. All the the forecast contracts and their respective rewards contracts on the WINGS Dapp ( to date have involved a good amount of manual labor; each project also provided their own ICO contract. The arduous process of the last 9 months has allowed us time to better understand and build a standardized set of interfaces integrating custom Ethereum-based ICO contracts into the WINGS system.

The prime objective of WINGS is to provide technology-based contracting infrastructure for interest-based tribes spanning the globe to engage in trusted, reputation-based collaboration on opportunity curation, price discovery and funding oriented around the transfer of value for a desired output. If organizations and economies are the sum of contracts between individual entities, then WINGS aims to be the how and where such multi-party contracts are enacted using Ethereum as the contract enforcement layer.

In the WINGS beta we introduce the ability for projects to use a template driven ICO contract generator which is fully integrated with forecasting and rewards contracts (see; however, we realize that projects which aim to raise greater amounts would wish to use custom ICO contracts, and yet other projects, in particular token sales and crowdfunding platforms, may wish to make use of WINGS as a general price discovery service on the Ethereum network. Hence, with that in mind we are with much long-awaited anticipation releasing our contracts API specification to the public.

The guide includes a token contract example with a minting function along with step-by-step instructions for integrating an ICO contract with a white list feature (for those ICOs which require KYC). The guide also includes a token contract example utilizing the Bancor Protocol, an open source standard that endows tokens with built-in convertibility directly through their smart contracts. By integrating Bancor, tokens become instantly convertible for any token in the Bancor Network (link:, including ETH, EOS, OMG and others, without needing to match two parties in an exchange, giving tokens automated liquidity from day one.

Note that in its current state the native ICO contract generator lacks many of the requirements necessary for regulatory controls for issuing securities tokens as well as regulatory controls for conducting KYC/AML. Therefore consult your legal advisor before use and consider implementing a custom contract that meets your legal requirements.

With Great Power Comes Responsibility

The specification if adhered to and implemented correctly allows for the WINGS community members to curate a proposal (meaning either reject it or not), assign a number to how much he or she thinks will be raised, if the project is not rejected by the community it allows for the custom ICO contract to be exposed to users of the WINGS Dapp (meaning that the dapp offers a standardized presentation layer of an ICO, it’s details and ICO contract), and finally upon the successful closing of a crowd sale it allows for the automated availability of the evaluation and forecasting fee usually in the form of project tokens to WINGS community members based on the current implementation of the WINGS forecast rewards math model as elaborated in our scientific white paper by Professor Sergeui Popov.

In the case of custom contracts the community curation function plays an additional and critical role of contract audit to determine if the custom contract meets the specification and will process correctly. Typically, a member may elect to reject a project for one of several reasons: the project is of low quality, the project offers a fee which is too low, the project is spam, the project is believed to be a scam, or simply the member does not like to see the project to be allowed to list in the WINGS Dapp for whatever myriad of reasons.

Another reason, for example, is that the project is offering unregistered securities or derivatives without proper implementation of regulatory checks and requirements in its ICO contract logic; or lacking other necessary logic like an KYC/AML check to disallow certain classes from participating.

So, in addition to all of these reasons for rejecting a project, in the case of custom contracts the WINGS community must as a community come together and verify that the contract code will execute properly, or reject it via the curation mechanism, if the community fails at this task then the community risks not getting paid their valuation forecasting fee.

WINGS Beta Test Suite

We do understand that the majority of the WINGS community are not solidity auditors. Thus the WINGS Foundation staff will be monitoring these contracts as they are introduced and help provide guidance initially, but the expectation is that at some point in the future the community self-organizes methods by which to verify the functions of these contracts or at least certain individual forecasters will gain a reputation in this arena.

We plan to provide a WINGS Dapp test system on kovan for projects to upload their contract and verify with the community that all functions as intended with their custom contract integration. To that end please get some Koven Ether from here:

Custom Contract Support & Inclusion of Custom Contracts in Guide

Should you have a token contract or custom crowd sale contract that you would like to include in our example pack and provide step-by-step guide; or if you are testing a custom contract and require assistance please contact us at [email protected] or by telegram chat.