Giter Club home page Giter Club logo

apinetwork's Introduction

API Network Protocol and Whitepaper

API Network Protocol Version 0.1 (Whitepaper Proposal Edition)

=================================

Contributors:

Marv Schneider https://github.com/marvgmail

Curtis Lacy https://github.com/curtislacy

Sam Yilmaz https://github.com/Onat

Faiz Khan https://github.com/faizkhan00

Ian Stewart https://github.com/ianmstew

Introduction

The market for API calls is enormous one, the number of API calls per day is astronomical. They power most of the Apps that you use on a daily basis, however they are still tough for developers to connect and maintain. The API Network project was born out a desire to make it easier for developers to connect to application programming interfaces (APIs). The team involved in the API Network has spent the last two years building out tools to make that process easier. The project has moved more and more toward open source until it became evident to be successful the project had to be 100% open source and incentives had to be built in with a crypto currency to reward developers who contribute their work and APIs to the network. The focus has since expanded to IMAP and related work to make this common source of data useful to most developers.

So if you are a developer and want to easily access APIs and IMAP data? Join the API Network project. The API / IMAP / OAuth 2 / Email Classifiction Open Source Project for Developers.

The Problem

There are three central issues with today's providers of API calls:

  1. Many of the most popular API's you can think of (Facebook, Twitter, Salesforce) have artificial limits on the number of API calls a developer can make to their system. This creates critical scaling issues and often breaks smaller applications that depend on these API calls when they reach these limits put in place by API providers.

  2. Today, websites that provide a single interface for accessing multiple API's, there isn't any price competition for the API calls developers want to make and the central service takes a margin on top of its costs, so the price the developer (and his or her users) pay for convenience is a higher price per API call.

  3. Singly.com as an example is a private centralized company, and so if it doesn't support the API you want, then its tough luck for you. Of course you can send in a request and maybe one day they will support it.

  4. Lastly because these services are not open source, you can't see the back end of how their code is handling the data from the API to you. So you have a much simpler interface with less function possible.

The Solution

The ideal solution one would want is:

  1. A marketplace where API providers compete on price and thus API providers can monetize their API as a service.

  2. An open standard so anyone can add additional APIs to the interface that people want support for.

  3. An open source view into how all the data is handled so that you can customize it for your application if you need a more powerful solution.

And once we build this open source marketplace for API's then we can build more powerful and less centralized versions of other services such as IFTTT https://ifttt.com/ and many other programs that provide value to end users by preforming tasks for them with API data in the back end.

Now imagine creating a competitive market scripts / agents that preform just about any action on the internet that a user can then easier find and use. Thats the longterm vision here.

Summary

We claim that API Network will

  • A. provide a platform for developers to easily access multiple APIs + IMAP.
  • B. provide access to a wide variety of both private and public API's.
  • c. provide access to the private and public API's in a federated manner for data that is technically easy to host and index, such as IMAP and Exchange information.
  • D. aquire initial backing as part of crowdsale to incentizive developers to build the API Network Protocol's software.
  • E. operate using the "APICoin (XAP)" to grant access its service.
  • F. compensate and incentivize nodes that are providing the API Network service in "APICoins (XAP)"

Technical Assumptions

Our claims are built on the following technical assumptions of technologies the API Network Protocol relies on for implimentation:

  • A. The Bitcoin Network can be used as a cryptographic ledger for the secure transfer of value and recording.
  • B. The Master Protocol can provide the issuance of digital and unique tokens on top of the Bitcoin cryptographic ledger.
  • C. The Safe Network can provide secure decentralized storage of data for the caching of API information.
  • D. API Network Protocol can host and manage Bitcoin wallets in an automated manner as indicated by users.
  • D. API Network Protocol can leverage digital marketplace tools such as decentralized escrow, reputation, identity, and arbitration to operate an efficent Federated marketplace for pulbic APIs.

Visualization of the APIcoin Token Tech Stack

The proposed protocol layers of Bitcoin, Master Protocol, and the API Network can be visualized as follows, with arrows representing users exchanging between currencies:

Mastercoin Protocol Layers

Note that all transfers of value using the Master Protocol are still stored in the normal bitcoin block chain, but the protocol assigns, stores and interprates additional meaning to some transactions utilizing the feature of embedded metadata. See Master Protocol for more additional information on user issued currencies and hosting crowdsales.

Document History

  • Version 0.1 This version seeks to describe the features that will be implimented after the API Network crowdsale.

Features of the API Network

  1. Private API Marketplace: A node may join the API Network and publish a private API that it will provide calls for. The node will accept and price the calls to its API in API Tokens. This will establish a link between the value of the service and that of the tokens. While the demand for the service will reflect in the demand for the token, the market place of nodes opertaing to perform a variety of API calls will be competing with each other thus rendering the service cheaper to perform. The competing supply and the competing demand will give rise to the dynamic emergent market place.

  2. The use of the SAFE Network: When the API Publisher stores information on the SAFE Network, the SAFE protocol will issue tokens to the Bitcoin address provided by the API publisher, to enable sustained storage and recall.

  3. Storage of Cached API Data: The API Network will use SAFE Network in the back-end to store the cached API data for users. This will be accomplished through the conversion of API Tokens to SAFE coins to purchase storage space for the user in the decentralized exchange.

  4. API Billing Module: The API Network will require sending of API tokens before the API services are provided, and the system will use AnArk.it for the escrow and holding of the API tokens for its billing module. That way the handling of the API tokens can be done in a completely decentralized manner where neither the user nor the API publisher will be able to access the API tokens until the promised action is preformed to the satisfaction of both parties.

  5. Data Normalization: The API Network contains libraries and tools for the normalizatin of data. This tool set is open-source, available to all users of the API Network system, and will be maintined as part of the core implimentation of the API Network Protocol.

  6. IMAP Intergration: The API Network contains libraries and tools for the intergration of IMAP email systems. This tool set is open-source and available to all users of the API Network system and will be maintined as part of the core implimentation of the API Network Protocol.

  7. Exchange Intergration: The API Network contains libraries and tools for the intergration of exchange email systems. This tool set is open-source and available to all users of the API Network system and will be maintined as part of the core implimentation of the API Network Protocol.

  8. Single Developer Interface: The API Network contains libraries and tools for developers to interact with multiple API's through a single interface. This tool set is open-source and available to all users of the API Network system and will be maintined as part of the core implimentation of the API Network Protocol.

  9. Natural Language Processing Tools: The API Network contains libraries and tools for the processing and indexing of natural language. This tool set is open source and available to all users of the API Network system and will be maintined as part of the core implimentation of the API Network Protocol.

  10. Public API Marketplace: The API Network will provide a marketplace for public APIs (Gmail, Facebook, Twitter and so forth) to be accessed through a Federated Network of API hosting providers. This marketplace of public API's will provide access to reputation and identity systems (anark.it and onename.io for example) to allow users to pick the API call provider of their choice. The marketplace for public API's will leverage the API Network opensource data normalization, interface and natural language process tools.

Operating on Top of the Master Protocol

The “Master Protocol" layer exists between the existing bitcoin protocol and user-issued currencies. The software implementing the Master Protocol contains simple tools which allows anyone to design and release their own currency with their own rules without doing any software development.

Total Distribution of APIcoins (XAP)

XBT (BTC) Crowdsale 3,000,000 XAPs (30%) will be the maximum generated

Third Party Developers 2,000,000 XAPs (20%)

Core Developers 2,000,000 XAPs (20%)

Open Sourcing 2,000,000 XAPs (20%)

Node Incentive 1,000,000 XAPs (10%)

Total APIcoins that will ever exist 10,000,000

See details on the following Google Spread Sheet: https://docs.google.com/a/dappsfund.com/spreadsheets/d/19miZjNsgtF21Qg-4IaDE3usE3mZRkhkPz7P4ous6yZ8/edit?usp=sharing

The Crowdsale “APICoin (XAP) Generation”

The API Network uses the Master Protocol to create a user currency identifer. These tokens are generated by the participants in the "API Address", a Bitcoin address starting June 18th 2014. The generation will continue until the end of the 'crowdsale' event until the target amount of API Coins (XAP) are sold or the ending date is reached.

Initial distribution of APICoins (XAP) will essentially be a effort to incentivize developers to write the software which fully implements the protocol. The issuance of tokens will proceed as the following simple steps:

  1. Starting on June 18th 2014 at 11 AM U.S. Central time, anyone sending bitcoins to the "API Address" is recognized by the protocol as purchasing API Coins (XAP).

  2. The first 500 XBT (BTC) sent to the "API Address" will generate 1 API Coin (XAP) for each 1.6 mXBT (millibits / 1/1,000th of a bitcoin).

  3. The next 1,000 XBT (BTC) sent to the "API Address" will generate 1 API Coin (XAP) for each 2.13 mXBT (millibits / 1/1,000th of a bitcoin).

  4. The next 2,000 XBT (BTC) sent to the "API Address" will generate 1 API Coin (XAP) for each 2.66 mXBT (millibits / 1/1,000th of a bitcoin).

  5. The last 4,692 XBT (BTC) sent to the "API Address" will generate 1 API Coin (XAP) for each 3.2 mXBT (millibits / 1/1,000th of a bitcoin).

  6. The details of the pricing of the API Coins (XAP) during the crowdsale event can be found on this Google Doc: https://docs.google.com/spreadsheets/d/1Jo58sfAfXJ05ZUylzf9dGDbJ2ngPlDbCZ2B6FSP_xBc/edit?usp=sharing

  7. Attempts to send funds to the API "Address" on or after 11 AM (central time) July 18th 2014 (as determined by bitcoin block chain records), will not be considered APICoins purchases and shall be sent back to the originating Bitcoin wallets in the form of Bitcoin minus transaction fees.

  8. The total number of APIcoins generated during the crowdsale shall be limited to 3,000,000. Any APIcoins generated after this point shall be invalid and the bitcoin sent for their generate returned to the sender.

In the event that a purchase has multiple inputs, the input address contributing the most funds is recognized as owning the APICoins.

Note that anyone who purchases APICoins also receive the ability to test new features before they are available for use in the API Network Protocol.

Developer APICoins (Dev Tokens)

For every 5 APICoin sold, an additional “Core Developer APICoins” will also be created, which will be awarded to the API Address slowly over the following years. These delayed API Tokens will ensure that the community can incentivize developers to increase the value of API Token by completing the features desired by users. The reward will be structured so that the distributed bounty system receives the tokens on a logarithmic scale: 25% of all the Dev API Tokens by one year after the initial sale, 37.5% by a year later, 43.75% by the year after, and so on.

##Generation of Other Crypto Currency by the Network and its Distribution

When the SAFE Network completes its test net phases and launches into production, the Network will generate SAFE coins for those users that add content to the network. The SAFE coin reward is based on the amount of usage that content recieves on the network and is paid out to the bitcoin address of the person who provided the content.

The API Network intends to use the SAFE Network to host its APIs and other content in a decentralized way and thus produce these SAFE coins. The SAFE coins generated by the use of API's published by the API Network on the SAFE Network will be sent to the API Network Foundation wallet in order purchase APICoins on the Master Protocol Decentralized Exchange. These purchased API Coins (XAP) will be sent on a regular basis to the holders of API Coins (XAP).

Transferring APICoins

The transfer of APICoins will is done through the Master Protocol client implimetations.

Note that the amount to transfer is accounted for in Lacys (hundred million Lacy's add up to make 1 APICoin) before it is stored, which allows for APICoins to be sent with the same precision as bitcoins (eight decimal places).

Use of the XBT (BTC) from the Crowdsale Event

  1. Buy the intellectual property and codebase to jump start the development of the API Network from Engine Inc. (website www.Engine.co) related to API and IMAP interfaces and then open source that code to the API community. Cost 900 XBT (BTC) and 2,000,000 API Coins (XAP) to be generated at the end of the crowdsale event.

  2. Buy additional intellectual property and codebase related to Exchange and other common data standards and open soure it the API community.

  3. Buy crypto currency in the protocols that API Network is built on top of. For example after the purchase of intellecual property and code from API services as described above, 25% of the remaining XBT (BTC) collcected during crowdsale will be used to puchase MSC, SAFE, and any other digital token that it functions on top of in order for the API Network to hold a stake in the platforms it is built on top of. Thus holding a mix of XBT (BTC), MSC and SAFE provides the API Network with a longterm stake in the future of these protocols.

  4. Engage core developers to work full time to impliment the API Network protocol into a functional client. The Role Based Bounty system will be engaged to accomplish this.

  5. Engage community members in bounties and challenges build up the number and type of APIs available on the API Network.

apinetwork's People

Contributors

davidajohnston avatar onat avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

apinetwork's Issues

Clarify whether MSC will be accepted in the public crowdsale

Do you plan to accept MSC as part of the public crowdsale? (That is, in addition to any prior private investment)

How is that going to be implemented at a technical level?
As far as I understand your script will handle the actual division of the tokens, so you will need to count, allocate and bound the number of MSC vs BTC that you accept.

I am missing critical details on the actual mechanism of how the crowdsale is going to happen. Is there one crowdsale address? Two separate addresses? Are you planning to refund MSC or BTC sent over the planned limit?

Clarify when APICoins are going to be traded, on which exchanges

Are you planning an integration with Masterxchange? Other exchanges?
Is there a deadline or ETA on when APICoins are going to be tradeable?

They will be tradable on the Master Protocol Decentralized Exchange when it is ready ... but that is not ready yet (ETA = end of July or Early August).

The document should specify these estimates so people know what to expect.

Clarify the daily auction language

A dutch style auction sale of APIcoins will begin June 11th and a total of 20,000 APIcoins will be sold during a 24 hour process starting at 11 am central US time zone. The APIcoins generated during each day will be distributed to the purchasers in proportion to the BTC sent. For instance, if a purchaser sent 10 bitcoins and the total bitcoins sent that day were 100 bitcoins than the purchaser would have 10% (2,000) of the 20,000 APIcoins sold that day.

Please change the first sentence to something like:

a total of 20,000 APIcoins will be sold during each 24 hour period starting at 11 am central US time zone, for exactly XXX days. The APIcoins generated during each day will be distributed to the purchasers in proportion to the BTC sent. For instance, if a purchaser sent 10 bitcoins and the total bitcoins sent that day were 100 bitcoins than the purchaser would have 10% (2,000) of the 20,000 APIcoins sold that day.

Clarify language on early adopter bonus and the interaction with daily sales

In order to encourage adoption momentum, buyers will get an additional 10% bonus APICoinss if they make their purchase a week before the deadline, 20% extra if they purchase two weeks weeks before, and so on, including partial weeks, prorating the total purchase accordingly. Thus, if I send 100 bitcoins to the "API Address" 1.5 weeks before the 18th of July 2014, the protocol recognizes my bitcoin address as owning 11,500 APICoinss (10000 + 15% bonus).

Do you mean that the total daily amount offered will have an early adopter bonus?
Meaning the first day 20,000 will be sold, and this amount (reset each day) will be lowered according to some curve? Note that your scripts need to implement this curve.

mastercoins sent after 200,000 APICoins will be refunded as well

The total number of APIcoins generated during the crowdsale shall be limited to 200,000 any APIcoins generated after this point shall be invalid and the bitcoin sent for their generate returned to the sender.

Should be

... shall be invalid and the bitcoin or mastercoins sent for the generation returned to the sender.

Clarify limits of refunds

Attempts to send funds to the API "Address" on or after midnight (central time) July 18th 2014 (as determined by bitcoin block chain records) will not be considered APICoins purchases and shall be sent back to the originating Bitcoin wallets in the form of Bitcoin minus transaction fees.

  1. I assume that miniature amounts of BTC/MSC will not be refunded.
  2. I assume that refunds will only take place up to a certain date (you won't refund what people send to you 6 months from now).

These should be reflected in the doc.

Clarify confusing paragraph

Starting on July 18th 2014 (or sooner if the BTC crow, anyone sending bitcoins to the "API Address" before July 18th, 2014 is recognized by the protocol as owning X (multiple to be determined by the average price during the dutch auction) that number of APICoins.

Syntax error.
What does this mean?
Parenthesis not closed.

Remove reference to dutch auctions

A dutch style auction sale of APIcoins

This is a Dutch Auction:

A Dutch auction is a type of auction in which the auctioneer begins with a high asking price which is lowered until some participant is willing to accept the auctioneer's price, or a predetermined reserve price (the seller's minimum acceptable price) is reached. The winning participant pays the last announced price.

I don't think that the crowdsales mechanisms currently supported on the Master Protocol resemble a dutch auction, and would prefer that we don't use this terminology in order not to confuse people.

Expand on testing new features

Note that anyone who purchases APICoins also receive the ability to test new features before they are available for use in the API Network Protocol.

This is not clear, perhaps an example is needed.
How many APICoins will be needed for testing?

Clarify language on what "The Protocol" is responsible for

Starting on June 18th 2014, anyone sending bitcoins to the "API Address" before July 18th, 2014 is recognized by the protocol as owning X (multiple to be determined by the average price during the dutch auction) that number of APICoins.

"recognized by the protocol" ... the Master Protocol does not yet support daily auctions, and will not support it in the timeline for the sale. You will need to implement this with a custom script ... so please remove "recognized by the protocol" from your spec.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.