NAV Navbar
shell
  • Introduction
  • Getting Started
  • Authentication
  • Terminology
  • User API
  • OpenKey API
  • Transaction API
  • Scaffold API
  • Scaffold Templates API
  • Share Holder API
  • Errors
  • Scaffold Versions
  • Introduction

    This API documentation is meant to give OPEN Developers an endpoint how to develop and interact with the OPEN Platform.

    These documents specify how to get started with the OPEN Platform, how to create a Scaffold and pricing scheme, and how to integrating this pricing scheme into another application environment.

    The point of the OPEN Platform is to make the transition as seamless as possible for the developer which means that many common pricing trends (product id, receipt) will persist.

    This API documentation was created with Slate.

    Getting Started

    Getting a Wallet

    An important part of accepting cryptocurrency payments is to get a Wallet and address. If you already have this feel free to skip this section. While the OPEN Wallet is still in development, it is recommended that you use a hardware solution like Trezor or Ledger Nano. In the context of this, it is possible to simply go through MetaMask.

    Setting up a Account

    Before interacting with the OPEN Platform, it is necessary to create an account on the OPEN Platform initially. Once you login in you can create OpenKeys through which it is possible to interact with the platform.

    Authentication

    To authorize, use this code:

    curl "api_endpoint_here"
      -H "Authorization: OPEN_KEY"
    

    Make sure to replace OPEN_KEY with your API key.

    OPEN Platform uses OpenKeys to allow access to the API. You can register a new OpenKey at your Account.

    OPEN Platform expects for the OpenKey to be included in all API requests to the server in a header that looks like the following:

    Authorization: OPEN_KEY

    Terminology

    Pageable

    Target - URL

    Indicate - URL marked by pageble supports request parameters described below:

    Name Description
    offset describes the offset for the set of results (only positive integers, default value - 0)
    limit describes the limit of entities in the result set (only positive integers, default value - 100)

    Optionals

    Target - dto's fields

    Indicate - field marked by optional can be null

    User API

    Get current user

    To get current user use this code:

    curl "https://api.openfuture.io/api/users/current"
      -H "Authorization: OPEN_KEY"
    

    Response:

    {
        "id": 1,
        "credits": 0,
        "openKeys": [{
            "value": "op_pk_5ea7197b-af53-49a7-87e4-6fc41fa1e97c",
            "enabled": true,
            "expiredDate": "2018-08-07T12:05:08.293+0000"
        }]
    }
    

    The endpoint gets current user.

    HTTP Request

    GET https://api.openfuture.io/api/users/current

    User dto attributes:

    Attribute Type Description
    id Long The user`s id
    credits Integer The user`s balance in Ethereum
    openKeys OpenKeyDto[] The user`s openKeys

    OpenKey API

    A OpenKey can be presented through the following JSON:

    {
        "value": "op_pk_7395a0fa-d39f-4f52-ab08-d27cdc7b8472",
        "enabled": true,
        "expiredDate": "2018-08-07T12:05:08.293+0000"
    }
    

    OpenKey dto attributes:

    Attribute Type Description
    value String The openKey`s value
    enabled Boolean The openKey is activated or deactivated
    expiredDate Date The date when openKey will expire

    Generate token

    To generate a new openKey use this code:

    curl "https://api.openfuture.io/api/keys"
      -X POST
      -H "Authorization: OPEN_KEY"
      -d '{
          "expireDate": "2018-08-07T12:05:08.293+0000"
        }'
    
    

    Response is presented like of OpenKeyDto

    The endpoint generates a new openKey.

    HTTP Request

    POST https://api.openfuture.io/api/keys

    Get tokens

    To get openKeys:

    curl "https://api.openfuture.io/api/keys"
      -H "Authorization: OPEN_KEY"
    

    Response is presented like array of OpenKeyDto

    The endpoint gets an array of openKeys.

    HTTP Request

    GET https://api.openfuture.io/api/keys

    Disable token

    To disable an openKey:

    curl "https://api.openfuture.io/api/keys/op_pk_7395a0fa-d39f-4f52-ab08-d27cdc7b8472"
      -X DELETE
      -H "Authorization: OPEN_KEY"
    

    Response is presented like OpenKeyDto

    The endpoint disable an openKey.

    HTTP Request

    DELETE https://api.openfuture.io/api/keys/op_pk_7395a0fa-d39f-4f52-ab08-d27cdc7b8472

    Transaction API

    When performing any method of a smart contract Open Platform catches the corresponding event.

    Events can be presented through the following JSONs:

    Events

    {
      "activated": false,
      "type": "ACTIVATED_SCAFFOLD"
    }
    

    Activate scaffold event attributes:

    Attribute Type Description
    activated Boolean Activated or deactivated scaffold
    type EventType The type of event
    {
      "userAddress": "0x00000000000000000000000000000000",
      "partnerShare": 10,
      "type": "ADDED_SHARE_HOLDER"
    }
    

    Added Share Holder event attributes:

    Attribute Type Description
    userAddress String The address of share holder
    partnerShare BigInteger Share of profits
    type EventType The type of event
    {
      "userAddress": "0x00000000000000000000000000000000",
      "type": "DELETED_SHARE_HOLDER"
    }
    

    Deleted Share Holder event attributes:

    Attribute Type Description
    userAddress String The address of share holder
    type EventType The type of event
    {
      "userAddress": "0x00000000000000000000000000000000",
      "partnerShare": 10,
      "type": "EDITED_SHARE_HOLDER"
    }
    

    Edited Share Holder event attributes:

    Attribute Type Description
    userAddress String The address of share holder
    partnerShare BigInteger Share of profits
    type EventType The type of event
    {
      "amount": 1000,
      "toAddress": "0x00000000000000000000000000000000",
      "type": "FUNDS_DEPOSITED"
    }
    

    Funds Deposited event attributes:

    Attribute Type Description
    amount BigInteger The amount of money
    toAddress String The address to
    type EventType The type of event
    {
      "userAddress": "0x00000000000000000000000000000000",
      "amount": 1000,
      "type": "PAYED_FOR_SHARE_HOLDER"
    }
    

    Payed For Share Holder event attributes:

    Attribute Type Description
    userAddress String The address of share holder
    amount BigInteger The amount of money
    type EventType The type of event
    {
      "customerAddress": "0x00000000000000000000000000000000",
      "transactionAmount": 10,
      "scaffoldTransactionIndex": 10,
      "properties": {
        "userId": 5,
        "type": "male"
      },
      "type": "PAYMENT_COMPLETED"
    }
    

    Payment Completed event attributes:

    Attribute Type Description
    customerAddress String The address of customer
    transactionAmount BigInteger The amount of money which customer puts
    scaffoldTransactionIndex BigInteger The number of transaction
    properties MAP The properties which customer created for scaffold
    type EventType The type of event

    Event types:

    1. ACTIVATED_SCAFFOLD
    2. ADDED_SHARE_HOLDER
    3. EDITED_SHARE_HOLDER
    4. DELETED_SHARE_HOLDER
    5. FUNDS_DEPOSITED
    6. PAYED_FOR_SHARE_HOLDER
    7. PAYMENT_COMPLETED

    Get all transactions

    To get all transactions use this code:

    curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/transactions"
      -H "Authorization: OPEN_KEY"
    

    Response:

    {
      "totalCount": 1,
      "list": [
        {
          "scaffold": {
            "address": "0x1c297f40beb075936d6dbe4b245b92736667ecb1",
            "user": {
              "id": 1,
              "credits": 0,
              "openKeys": [
                {
                  "value": "op_pk_029bbb64-a31d-4ec6-b881-8d8db19c70ee",
                  "enabled": true,
                  "expiredDate": null
                }
              ]
            },
            "abi": "[{\"constant\":false,\"inputs\":[{\"name\":\"dfsf\",\"type\":\"string\"}],\"name\":\"payVendor\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"developerAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getScaffoldSummary\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"openScaffoldTransactions\",\"outputs\":[{\"name\":\"customerAddress\",\"type\":\"address\"},{\"name\":\"dfsf\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"fiatAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldDescription\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"OPENToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldTransactionIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_developerAddress\",\"type\":\"address\"},{\"name\":\"_description\",\"type\":\"string\"},{\"name\":\"_fiatAmount\",\"type\":\"string\"},{\"name\":\"_fiatCurrency\",\"type\":\"string\"},{\"name\":\"_scaffoldAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"customerAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"transactionAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"scaffoldTransactionIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"dfsf\",\"type\":\"string\"}],\"name\":\"paymentComplete\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundsDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"activated\",\"type\":\"bool\"}],\"name\":\"activatedScaffold\",\"type\":\"event\"}]",
            "developerAddress": "0xDc29484cc9C02Ee01015f33BcA8bBb5C7293Fb54",
            "description": "any_description",
            "fiatAmount": "123",
            "currency": "USD",
            "conversionAmount": "0.2139521163",
            "properties": [
              {
                "name": "property_name",
                "type": "STRING",
                "defaultValue": "property_value"
              }
            ],
            "enabled": false
          },
          "event": {
             "userAddress": "0x00000000000000000000000000000000",
             "amount": 1000,
             "type": "PAYED_FOR_SHARE_HOLDER"
          },
          "type": "type of transaction"
        }
      ]
    }
    

    The endpoint gets all transactions.

    HTTP Request

    GET https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/transactions

    Response dto attributes:

    Attribute Type Description
    totalCount Integer The count of scaffolds
    list TransactionDto[] The scaffold`s transactions

    Transaction dto attributes:

    Attribute Type Description
    scaffold ScaffoldDto The user`s scaffold
    event Event The event which came with transaction
    type String The type of transaction

    Scaffold API

    A Scaffold can be presented through the following JSON:

    {
        "address": "0x1c297f40beb075936d6dbe4b245b92738867ecb1",
        "user": {
            "id": 1,
            "credits": 0,
            "openKeys": [
                {
                    "value": "op_pk_029bbb64-a31d-4ec6-b881-8d8db19c70ee",
                    "enabled": true,
                    "expiredDate": null
                }
            ]
        },
        "abi": "[{\"constant\":false,\"inputs\":[{\"name\":\"dfsf\",\"type\":\"string\"}],\"name\":\"payVendor\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"developerAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getScaffoldSummary\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"openScaffoldTransactions\",\"outputs\":[{\"name\":\"customerAddress\",\"type\":\"address\"},{\"name\":\"dfsf\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"fiatAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldDescription\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"OPENToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldTransactionIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_developerAddress\",\"type\":\"address\"},{\"name\":\"_description\",\"type\":\"string\"},{\"name\":\"_fiatAmount\",\"type\":\"string\"},{\"name\":\"_fiatCurrency\",\"type\":\"string\"},{\"name\":\"_scaffoldAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"customerAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"transactionAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"scaffoldTransactionIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"dfsf\",\"type\":\"string\"}],\"name\":\"paymentComplete\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundsDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"activated\",\"type\":\"bool\"}],\"name\":\"activatedScaffold\",\"type\":\"event\"}]",
        "developerAddress": "0xDc29484cc9C02Ee01015f33BcA8bBb5C7293Fb54",
        "description": "any_description",
        "fiatAmount": "123",
        "currency": "USD",
        "conversionAmount": "0.2139521163",
        "properties": [
            {
                "name": "property_name",
                "type": "STRING",
                "defaultValue": "property_value"
            }
        ],
        "enabled": false
    }
    

    The primary means of interacting with the Scaffolds is through the OPEN Developer Dashboard, it is also possible to make changes using the OPEN Platform API.

    Scaffold dto attributes:

    Attribute Type Description
    address String The scaffold`s address
    user UserDto[] The information about user
    abi String The scafford`s interface
    developerAddress String The address of developer`s wallet
    description String The scaffold`s description
    fiatAmount String The constant cost of scaffold
    currency String The scaffold`s currency
    conversionAmount String The dynamic cost of scaffold in Ethereum
    version ScaffoldVersion Version of scaffold : [V1, V2, ...]
    properties ScaffoldPropertyDto[] The scaffold`s properties
    enabled Boolean The scaffold is activated or deactivated

    Scaffold property dto attributes:

    Attribute Type Description
    name String The property name
    type String The property type: [STRING, NUMBER, BOOLEN]
    defaultValue String The property value

    Get all scaffolds

    To get all scaffolds use this code:

    curl "https://api.openfuture.io/api/scaffolds"
      -H "Authorization: OPEN_KEY"
    

    Response:

    {
        "totalCount": 1,
        "list": [
            {
                "address": "0x1c297f40beb075936d6dbe4b245b92736667ecb1",
                "user": {
                    "id": 1,
                    "credits": 0,
                    "openKeys": [
                        {
                            "value": "op_pk_029bbb64-a31d-4ec6-b881-8d8db19c70ee",
                            "enabled": true,
                            "expiredDate": null
                        }
                    ]
                },
                "abi": "[{\"constant\":false,\"inputs\":[{\"name\":\"dfsf\",\"type\":\"string\"}],\"name\":\"payVendor\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"developerAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getScaffoldSummary\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"openScaffoldTransactions\",\"outputs\":[{\"name\":\"customerAddress\",\"type\":\"address\"},{\"name\":\"dfsf\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"fiatAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldDescription\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"OPENToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldTransactionIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_developerAddress\",\"type\":\"address\"},{\"name\":\"_description\",\"type\":\"string\"},{\"name\":\"_fiatAmount\",\"type\":\"string\"},{\"name\":\"_fiatCurrency\",\"type\":\"string\"},{\"name\":\"_scaffoldAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"customerAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"transactionAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"scaffoldTransactionIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"dfsf\",\"type\":\"string\"}],\"name\":\"paymentComplete\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundsDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"activated\",\"type\":\"bool\"}],\"name\":\"activatedScaffold\",\"type\":\"event\"}]",
                "developerAddress": "0xDc29484cc9C02Ee01015f33BcA8bBb5C7293Fb54",
                "description": "any_description",
                "fiatAmount": "123",
                "currency": "USD",
                "conversionAmount": "0.2139521163",
                "properties": [
                    {
                        "name": "property_name",
                        "type": "STRING",
                        "defaultValue": "property_value"
                    }
                ],
                "enabled": false
            }
        ]
    }
    

    The endpoint gets all scaffolds.

    HTTP Request

    GET https://api.openfuture.io/api/scaffolds

    Response dto attributes:

    Attribute Type Description
    totalCount Integer The count of scaffolds
    list ScaffoldDto[] The user`s scaffolds

    Get scaffold

    To get scaffold use this code:

    curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000"
      -H "Authorization: OPEN_KEY"
    

    Response is presented like ScaffoldDto

    The endpoint gets user`s scaffold.

    HTTP Request

    GET https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000

    Compile scaffold

    To compile scaffold use this code:

    curl "https://api.openfuture.io/api/scaffolds/doCompile"
      -X POST
      -H "Authorization: OPEN_KEY"
      -H "Content-Type: application/json"
      -d '{
            "openKey": "op_pk_029bbb64-a31d-4ec6-b881-8d8db19c70ee",
            "properties": [
                {
                    "name": "property_name",
                    "type": "STRING",
                    "defaultValue": "property_value"
                }
            ]
        }'
    

    Response:

    {
        "abi": "[{\"constant\":false,\"inputs\":[{\"name\":\"property_name\",\"type\":\"string\"}],\"name\":\"payVendor\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"developerAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getScaffoldSummary\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"openScaffoldTransactions\",\"outputs\":[{\"name\":\"customerAddress\",\"type\":\"address\"},{\"name\":\"property_name\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"fiatAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldDescription\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"OPENToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldTransactionIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_developerAddress\",\"type\":\"address\"},{\"name\":\"_description\",\"type\":\"string\"},{\"name\":\"_fiatAmount\",\"type\":\"string\"},{\"name\":\"_fiatCurrency\",\"type\":\"string\"},{\"name\":\"_scaffoldAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"customerAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"transactionAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"scaffoldTransactionIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"property_name\",\"type\":\"string\"}],\"name\":\"paymentComplete\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundsDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"activated\",\"type\":\"bool\"}],\"name\":\"activatedScaffold\",\"type\":\"event\"}]",
        "bin": "6...604052306007600061fffffffffffffffffffff80838360005b838110156102045780820151818401526020810190506101e9565b50505050905090810190601f1680156102315780820380516001836020036101000a031916815260200191505b5084810383528a818151815260200191508051906020019080838360005b8381101561026a57808201518184015260208101905061024f565b50505050905090810190601f1680156102975780820380516001836020036101000a031916815260200191505b50848103825289818151815260200191508051906020019080838360005b838110156102d05780820151818401526020810190506102b5565b50505050905090810190601f1680156102fd5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561031e57600080fd5b6103346004808035906020019091905050610f4a565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156103ef5780601f106103c4576101008083540402835291602001916103ef565b820191906000526020600020905b8154815290600101906020018083116103d257829003601f168201915b5050935050505060405180910390f35b341561040a57600080fd5b610412610f9c565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610452578082015181840152602081019050610437565b50505050905090810190601f16801561047f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561049857600080fd5b6104a061103a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104e05780820151818401526020810190506104c5565b5050505090a81c09c91c7fffd70329d20d3908713c80029"
    }
    

    The endpoint compiles scaffold.

    HTTP Request

    POST https://api.openfuture.io/api/scaffolds/doCompile

    Request attributes:

    Attribute Type Description
    openKey String The openKey`s value
    properties ScaffoldPropertyDto[] The scaffold`s properties

    Response attributes:

    Attribute Type Description
    abi String The scaffold`s interface
    bin String The scaffold`s binary

    Deploy scaffold

    To deploy scaffold use this code:

    curl "https://api.openfuture.io/api/scaffolds/doDeploy"
      -X POST
      -H "Authorization: OPEN_KEY"
      -H "Content-Type: application/json"
      -d '{
            "openKey": "op_pk_7395a0fa-d39f-4f52-ab08-d27cdc7b8472",
            "developerAddress": "0xDc29484cc9C02Ee01015f33BcA8bBb5C7293Fb54",
            "description": "any_description"
            "fiatAmount": "123",
            "currency": "USD",
            "conversionAmount": 0.2139521163,
            "properties": [
                {
                  "name": "property_name",
                  "type": "STRING",
                  "defaultValue": "property_value"
                }
            ]
        }'
    

    Response is presented like ScaffoldDto

    The endpoint deploys scaffold.

    HTTP Request

    POST https://api.openfuture.io/api/scaffolds/doDeploy

    Request attributes:

    Attribute Type Description
    openKey String The openKey`s value
    developerAddress String The address of developer`s wallet
    description String The scaffold`s description
    fiatAmount String The constant cost of scaffold
    currency String The scaffold`s currency
    conversionAmount String The dynamic cost of scaffold in Ethereum
    properties ScaffoldPropertyDto[] The scaffold`s properties

    Save scaffold

    To save scaffold use this code:

    curl "https://api.openfuture.io/api/scaffolds"
      -X POST
      -H "Authorization: OPEN_KEY"
      -H "Content-Type: application/json"
      -d '{
            "address": "0x1c297f40beb075936d6dbe4b245b92738867ecb1",
            "abi": "[{\"constant\":false,\"inputs\":[{\"name\":\"dfsf\",\"type\":\"string\"}],\"name\":\"payVendor\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"developerAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getScaffoldSummary\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"openScaffoldTransactions\",\"outputs\":[{\"name\":\"customerAddress\",\"type\":\"address\"},{\"name\":\"dfsf\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"fiatAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldDescription\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"OPENToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldTransactionIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_developerAddress\",\"type\":\"address\"},{\"name\":\"_description\",\"type\":\"string\"},{\"name\":\"_fiatAmount\",\"type\":\"string\"},{\"name\":\"_fiatCurrency\",\"type\":\"string\"},{\"name\":\"_scaffoldAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"customerAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"transactionAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"scaffoldTransactionIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"dfsf\",\"type\":\"string\"}],\"name\":\"paymentComplete\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundsDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"activated\",\"type\":\"bool\"}],\"name\":\"activatedScaffold\",\"type\":\"event\"}]",
            "openKey": "op_pk_029bbb64-a31d-4ec6-b881-8d8db19c70ee",
            "developerAddress": "0xDc29484cc9C02Ee01015f33BcA8bBb5C7293Fb54",
            "description": "any_description",
            "fiatAmount": "123",
            "currency": "USD",
            "conversionAmount": "0.2139521163",
            "properties": [
                {
                    "name": "property_name",
                    "type": "STRING",
                    "defaultValue": "property_value"
                }
            ]
        }'
    

    Response is presented like ScaffoldDto

    The endpoint saves scaffold.

    HTTP Request

    POST https://api.openfuture.io/api/scaffolds

    Request attributes:

    Attribute Type Description
    abi String The scaffold`s interface
    address String The scaffold`s address
    openKey String The openKey`s value
    developerAddress String The address of developer`s wallet
    description String The scaffold`s description
    fiatAmount String The constant cost of scaffold
    currency String The scaffold`s currency
    conversionAmount String The dynamic cost of scaffold in Ethereum
    properties ScaffoldPropertyDto[] The scaffold`s properties

    Set webhook

    To set webhook use this code:

    curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000"
      -X PATCH
      -H "Authorization: OPEN_KEY"
      -H "Content-Type: application/json"
      -d '{
            "webHook": "https://zensoft.io"
        }'
    

    Response is presented like ScaffoldDto

    The endpoint sets webhook.

    HTTP Request

    PATCH https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000

    Request attributes:

    Attribute Type Description
    webHook String The url for webhook

    Get scaffold`s summary

    To get scaffold`s summary use this code:

    curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/summary"
      -H "Authorization: OPEN_KEY"
    

    Response:

    {
      "scaffold": {
        "address": "0x46D8975abD0fF552e9c06d705Ce021e065BAc772",
        "user": {
          "id": 15,
          "credits": 0,
          "openKeys": [
            {
              "value": "op_pk_698d8d9f-af1a-4db7-9a29-d1536ea50a3b",
              "enabled": true,
              "expiredDate": null
            },
            {
              "value": "op_pk_2da2a2fd-bac3-4a67-b251-b3a10e072074",
              "enabled": true,
              "expiredDate": null
            }
          ],
          "roles": [
            {
              "key": "ROLE_MASTER"
            }
          ]
        },
        "abi": "[{\"constant\":true,\"inputs\":[],\"name\":\"fiatCurrency\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"activate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"activated\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_shareHolderAddress\",\"type\":\"address\"}],\"name\":\"deleteShareHolder\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getScaffoldSummary\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_shareHolderAddress\",\"type\":\"address\"},{\"name\":\"_partnerShare\",\"type\":\"uint256\"}],\"name\":\"editShareHolder\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"openScaffoldTransactions\",\"outputs\":[{\"name\":\"customerAddress\",\"type\":\"address\"},{\"name\":\"buy_currency\",\"type\":\"bytes32\"},{\"name\":\"user_id\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"shareHolderAddresses\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_shareHolderAddress\",\"type\":\"address\"},{\"name\":\"_partnerShare\",\"type\":\"uint256\"}],\"name\":\"addShareHolder\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"fiatAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"buy_currency\",\"type\":\"bytes32\"},{\"name\":\"user_id\",\"type\":\"bytes32\"}],\"name\":\"payDeveloper\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getShareHolderAddressAndShareAtIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"partners\",\"outputs\":[{\"name\":\"share\",\"type\":\"uint256\"},{\"name\":\"index\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_shareHolderAddress\",\"type\":\"address\"}],\"name\":\"getHoldersShare\",\"outputs\":[{\"name\":\"partnerShare\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"OPENToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldAmount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"developerAddress\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"scaffoldTransactionIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getShareHolderAtIndex\",\"outputs\":[{\"name\":\"shareHolderAddress\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getShareHolderCount\",\"outputs\":[{\"name\":\"count\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_developerAddress\",\"type\":\"address\"},{\"name\":\"_platformAddress\",\"type\":\"address\"},{\"name\":\"_fiatAmount\",\"type\":\"bytes32\"},{\"name\":\"_fiatCurrency\",\"type\":\"bytes32\"},{\"name\":\"_scaffoldAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_eventType\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_customerAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_transactionAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_scaffoldTransactionIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"buy_currency\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"user_id\",\"type\":\"bytes32\"}],\"name\":\"PaymentCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_eventType\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_toAddress\",\"type\":\"address\"}],\"name\":\"FundsDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_eventType\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"activated\",\"type\":\"bool\"}],\"name\":\"ActivationScaffold\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_eventType\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_shareHolderAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_share\",\"type\":\"uint256\"}],\"name\":\"ShareHolderEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_eventType\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_userAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"PaidForShareHolder\",\"type\":\"event\"}]",
        "description": "test2",
        "fiatAmount": "10",
        "currency": "USD",
        "conversionAmount": "0.020753993",
        "developerAddress": "0x57E2FdEff9Be5af5Fe924f77a5404093C8561C7D",
        "webHook": null,
        "properties": [
          {
            "name": "buy_currency",
            "type": "STRING",
            "defaultValue": "+5"
          },
          {
            "name": "user_id",
            "type": "STRING",
            "defaultValue": null
          }
        ],
        "version": "V2"
      },
      "transactionIndex": 0,
      "tokenBalance": 0,
      "enabled": false,
      "shareHolders": []
    }
    

    The endpoint gets scaffold`s summary.

    HTTP Request

    GET https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/summary

    Scaffold summary dto attributes:

    Attribute Type Description
    scaffold ScaffoldDto[] Information about the scaffold
    transactionIndex Int Transaction index
    tokenBalance Int Open Token count on the scaffold
    enabled Boolean The scaffold is enabled or disabled
    shareHolders ShareHolderDto[] Scaffold shareholders

    Deactivate scaffold

    To deactivate scaffold use this code:

    curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/doDeactivate"
      -X DELETE
      -H "Authorization: OPEN_KEY"
    

    Response is presented like ScaffoldSummaryDto

    The endpoint deactivates scaffold.

    HTTP Request

    POST https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/doDeactivate

    Activate scaffold

    To activate scaffold use this code:

    curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000"
      -X POST
      -H "Authorization: OPEN_KEY"
    

    Get quota

    To get quota use this code:

    curl "https://api.openfuture.io/api/scaffolds/quota"
      -H "Authorization: OPEN_KEY"
    

    Response:

    {
        "currentCount": 1,
        "limitCount": 10
    }
    

    OPEN Platform has limit on the maximum possible count of deactivated scaffolds. The default is 10 scaffolds.

    The endpoint gets quota.

    HTTP Request

    GET https://api.openfuture.io/api/scaffolds/quota

    Scaffold quota dto attributes:

    Attribute Type Description
    currentCount Long The count of deactivated scaffolds
    limitCount Long The max possible count of deactivated scaffolds

    Scaffold Templates API

    Get templates

    To get all scaffold templates use this code:

    curl "https://api.openfuture.io/api/scaffolds/templates"
      -H "Authorization: OPEN_KEY"
    

    Response:

    {
        "name":"name",
        "developerAddress": "0xDc29484cc9C02Ee01015f33BcA8bBb5C7293Fb54",
        "description": "any_description",
        "fiatAmount": "123",
        "currency": "USD",
        "conversionAmount": "0.2139521163",
        "webHook":"http://localhost.com",
        "properties": [
            {
                "name": "property_name",
                "type": "STRING",
                "defaultValue": "property_value"
            }
        ]
    }
    

    The endpoint gets all scaffold templates.

    HTTP Request

    GET https://api.openfuture.io/api/scaffolds/templates

    Response attributes:

    Attribute Type Description
    name String The openKey`s value
    developerAddress String The address of developer`s wallet
    description String The scaffold`s description
    fiatAmount String The constant cost of scaffold
    currency String The scaffold`s currency
    conversionAmount String The dynamic cost of scaffold in Ethereum
    webHook String The url for webhook
    properties ScaffoldPropertyDto[] The scaffold`s properties

    Share Holder API

    Add Share Holder

    To add share holder use this code:

    curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/holders"
      -X POST
      -H "Authorization: OPEN_KEY"
      -H "Content-Type: application/json"
      -d '{
            "address": "0x1c297f40beb075936d6dbe4b245b92738867ecb1",
            "percent": 30
        }'
    

    The endpoint adds new share holder.

    HTTP Request

    POST https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/holders

    Request attributes:

    Attribute Type Description
    address String The address of wallet of share holder
    percent String The percentage of income

    Update Share Holder

    To update share holder use this code:

    curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/holders/{holderAddress}"
      -X PUT
      -H "Authorization: OPEN_KEY"
      -H "Content-Type: application/json"
      -d '{
            "percent": 30
        }'
    

    The endpoint edits share holder.

    HTTP Request

    PUT https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/holders/{holderAddress}

    Request attributes:

    Attribute Type Description
    percent String The percentage of income

    Remove Share Holder

    To delete share holder use this code:

    curl "https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/holders/{holderAddress}"
      -X DELETE
      -H "Authorization: OPEN_KEY"
      -H "Content-Type: application/json"
    

    The endpoint removes share holder.

    HTTP Request

    DELETE https://api.openfuture.io/api/scaffolds/0x0000000000000000000000000000000000000000/holders/{holderAddress}

    Errors

    Exception response:

    {
        "status": 400,
        "message": "Method Argument Not Valid",
        "errors": [
            {
                "code": "Size"
                "field": "password",
            },
            {
                "code": "PasswordsEqualsConstraint"
            }
        ]
    }
    

    The OPEN Platform API uses the following error format:

    Exception response:

    The attributes:

    Attribute Type Description
    status Integer Http code
    message String Description error
    errors ErrorDto[] Array error objects

    Error dto:

    The attributes:

    Attribute Type Description
    code String Description error
    field String The name of field - optional

    Error Statuses:

    Error Status Meaning
    400 Bad Request - Your request is invalid.
    401 Unauthorized - Your API key is wrong.
    403 Forbidden - You don`t have an appropriate roles.
    404 Not Found - The specified OPEN Platform could not be found.
    405 Method Not Allowed - You tried to access a OPEN Platform with an invalid method.
    406 Not Acceptable - You requested a format that isn't json.
    409 Conflict - Conflicts are in database
    500 Internal Server Error - We had a problem with our server. Try again later.

    Scaffold Versions

    We support different scaffold versions.

    Versions available:

    Function permissions:

    Scaffold V1:

    Added

    Function Description Permissions Input Output
    payDeveloper - Payments for a Scaffold at a price specified by the developer. The contract accepts only the exact Scaffold amount. When successful payment is made, Scaffold withdraw corresponding funds to a developer, shareholders, if exist, and fee to the platform. Corresponding events are also created all custom Scaffold parameters, witch set developer when create contract no output
    addShareHolder - Allows developer to add shareholders. Share will be paid when a customer pays the Scaffold. Event is also created. developer shareholder address, share in percents no output
    editShareHolder - Edit existing shareholder's share. Event is also created. developer shareholder address, new share in percents no output
    deleteShareHolder - Delete existing shareholder. Event is also created. developer shareholder address no output
    getScaffoldSummary - Get current state of Scaffold. Returns main Scaffold variables. all no input fiat amount, fiat currency, scaffold amount, scaffold transaction index, developer address, OPEN token balance
    deactivate - Deactivate Scaffold contract. Contract withdraw all OPEN tokens to developer address. Customers can not pay for Scaffold until activate contract again. Managing shareholders developer can in any status. Deactivating event is also created. developer no input no output

    Scaffold V2:

    Added

    Function Description Permissions Input Output
    activate - Set Scaffold to active mode for allowing payments for contract. Need transfer 10 OPEN tokens to contract for activating. Activation flag is present in Scaffold summary. Also activating event is created. developer no input no output

    Changed

    Function Description Permissions Input Output
    getScaffoldSummary - An activation flag has been added to display the current status of the contract. all no input fiat amount, fiat currency, scaffold amount, scaffold transaction index, developer address, OPEN token balance, activated