You are able to create smart token campaign via this API.


  • Query String
  • Query Variables
  • HTTP Headers

HTTP Request and Response


  • URL
    • For development:
    • For production:
  • Method: POST
  • Headers
    • accept: application/json
    • content-type: application/json
    • authorization: Bearer [JWT Web-to-Server access token]
      • (for example)
  • Body

    The value of query in the body is a String.


This API responses a ABI-Encoded transaction for creating the basic token campaign, and the end-user (the sender, the requester) has to sign the transaction object in the response via ETH Key lib JS, then send the signed transaction and the submitToken to SubmitSignedTransaction API.



  • id <ID!>
    • ID of the Smart Token to sell. ID is a global identifier.
  • name <String!>
    • Campaigm name.
  • description <String!>
    • Campaign description.
  • stages (Currently only support one stage in stages.) <[CampaignStageInput]!>
    • name <String!>
      • The campaign stage name.
    • description <String!>
      • The campaign stage description.
    • startTime <String!>
      • The campaign stage start time. The format is Unix Timestamp in millisecond resolution.
    • endTime <String!>
      • The campaign stage end time. The format is Unix Timestamp in millisecond resolution.
    • priceMultiplier <Fraction!>
      • The multiplier to the price for this campaign stage. Must be less than or equal to 1. Must be greater than 0. (For example, assume the original Smart Token price is 1 ETH = 100 YourToken, if you have created a 20% bonus stage, the priceMultiplier you get is: {numerator: 100, denominator: 120} ( 1/(100/120) = 1.2, 1.2-1 = 0.2 = 20% ) So the Smart Token price is allowed to be 1 ETH = 120 YourToken.)
      • numerator <String!>
        • The numerator of this fraction.
      • denominator <String!>
        • The denominator of this fraction.
    • cap <String!>
      • Total amount of Smart Token for sale during this campaign stage. The format is Decimaled Number.
    • isPrivate <Boolean!>
      • The campaign stage is private or not.
  • por <PORMode>
    • ENABLE or DISABLE <enum>
    • Default is DISABLE.


  • createCampaign <CreateCampaignPayload>
    • transaction <JSON>
      • UNSIGNED raw transaction format in Ethereum.
    • submitToken <String>
    • pendingTransactions <String>
      • Amount of your transactions which are still pending.
    • hash <String>
      • PORMode ENABLE: Hash of the abi encode.
      • PORMode DISABLE: Hash of the RLP encode.