@tatumio/erc20-connector
Version:
ERC20 Connector for Tatum API
1,423 lines • 86.6 kB
YAML
openapi: 3.0.0
servers:
- url: 'https://api-eu1.tatum.io'
info:
version: 1.0.4
title: Tatum ERC20 Abstraction API
tags:
- description: |
<p>An ERC-20 token is a standardized Smart Contract with a predefined set of features. It represents fungible tokens, which can be interchanged. The ERC-20 token is used as a blockchain representation of the currency.
<br/><br/>
Tatum now supports ERC20 these blockchains:<br/>
<ul>
<li><b>Ethereum</b></li>
<li><b>Polygon (Matic)</b></li>
<li><b>Kcs (KCS)</b></li>
<li><b>Binance Smart Chain</b></li>
<li><b>Celo</b></li>
<li><b>Harmony.ONE</b></li>
<li><b>XDC Network (XinFin)</b></li>
<li><b>Algorand</b></li>
</ul>
</p>
name: Blockchain / Fungible Token
paths:
/v3/blockchain/token/deploy:
post:
description: |
<p>Deploy ERC20 Smart Contract. This method creates new ERC20 (Fungible Tokens) Smart Contract on the blockchain. Smart contract is standardized and audited. It is possible to mint and burn tokens.
It is possible to see the code of the deployed contract <a href="https://github.com/tatumio/tatum-middleware/blob/master/src/contracts/token.sol" target="_blank">here</a>.
Whole predefined supply of the tokens will be transferred to the chosen address.
<br/><br/>
This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key.
No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey
or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production,
<a href="https://github.com/tatumio/tatum-kms" target="_blank">Tatum KMS</a> should be used for the highest security standards, and signatureId should be present in the request.
Alternatively, using the Tatum client library for supported languages.
</p>
operationId: Erc20Deploy
parameters:
- description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
in: header
name: x-testnet-type
required: false
schema:
default: ethereum-ropsten
type: string
enum:
- ethereum-ropsten
- ethereum-rinkeby
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/ChainDeployErc20"
- $ref: "#/components/schemas/ChainDeployErc20KMS"
- $ref: "#/components/schemas/ChainDeployKcsErc20"
- $ref: "#/components/schemas/ChainDeployKcsErc20KMS"
- $ref: "#/components/schemas/ChainDeployCeloErc20"
- $ref: "#/components/schemas/ChainDeployCeloErc20KMS"
# - $ref: "#/components/schemas/ChainCreateTronTrc20"
required: true
responses:
200:
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/TransactionHashKMS"
- $ref: "#/components/schemas/SignatureId"
description: OK
400: &API400
content:
application/json:
schema:
$ref: "#/components/schemas/Error400"
description: Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
401: &API401
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/Error401NotActive"
- $ref: "#/components/schemas/Error401Invalid"
description: Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
403: &API403
description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/Error403"
500: &API500
content:
application/json:
schema:
$ref: "#/components/schemas/Error500"
description: Internal server error. There was an error on the server during the processing of the request.
security:
- X-Api-Key: [ ]
x-code-samples:
summary: Deploy ERC20 Smart Contract.
tags:
- Blockchain / Fungible Token
/v3/blockchain/token/mint:
post:
description: |
<h4>2 credits per API call.</h4><br/>
<p>Create new ERC20 Fungible Tokens and transfer it to destination account. Tokens can be created only if current supply is lower then total supply. Create and transfer any ERC20 tokens from smart contract defined in contractAddress.
<br/><br/>
This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key.
No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey
or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production,
<a href="https://github.com/tatumio/tatum-kms" target="_blank">Tatum KMS</a> should be used for the highest security standards, and signatureId should be present in the request.
Alternatively, using the Tatum client library for supported languages.
</p>
parameters:
- description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
in: header
name: x-testnet-type
required: false
schema:
default: ethereum-ropsten
type: string
enum:
- ethereum-ropsten
- ethereum-rinkeby
operationId: Erc20Mint
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/ChainMintErc20"
- $ref: "#/components/schemas/ChainMintErc20KMS"
- $ref: "#/components/schemas/ChainMintKcsErc20"
- $ref: "#/components/schemas/ChainMintKcsErc20KMS"
- $ref: "#/components/schemas/ChainMintCeloErc20"
- $ref: "#/components/schemas/ChainMintCeloErc20KMS"
required: true
responses:
200:
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/TransactionHashKMS"
- $ref: "#/components/schemas/SignatureId"
description: OK
400:
<<: *API400
401:
<<: *API401
403:
description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/Error403"
500:
<<: *API500
security:
- X-Api-Key: [ ]
x-code-samples:
summary: Mint ERC20
tags:
- Blockchain / Fungible Token
/v3/blockchain/token/burn:
post:
description: |
<h4>2 credits per API call.</h4><br/>
<p>Burn ERC20 Fungible Tokens. This method destroys ERC20 tokens from smart contract defined in contractAddress.
<br/><br/>
This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key.
No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey
or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production,
<a href="https://github.com/tatumio/tatum-kms" target="_blank">Tatum KMS</a> should be used for the highest security standards, and signatureId should be present in the request.
Alternatively, using the Tatum client library for supported languages.
</p>
parameters:
- description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
in: header
name: x-testnet-type
required: false
schema:
default: ethereum-ropsten
type: string
enum:
- ethereum-ropsten
- ethereum-rinkeby
operationId: Erc20Burn
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/ChainBurnErc20"
- $ref: "#/components/schemas/ChainBurnErc20KMS"
- $ref: "#/components/schemas/ChainBurnKcsErc20"
- $ref: "#/components/schemas/ChainBurnKcsErc20KMS"
- $ref: "#/components/schemas/ChainBurnCeloErc20"
- $ref: "#/components/schemas/ChainBurnCeloErc20KMS"
required: true
responses:
200:
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/TransactionHashKMS"
- $ref: "#/components/schemas/SignatureId"
description: OK
400:
<<: *API400
401:
<<: *API401
403:
description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/Error403"
500:
<<: *API500
security:
- X-Api-Key: [ ]
x-code-samples:
summary: Burn ERC20
tags:
- Blockchain / Fungible Token
/v3/blockchain/token/approve:
post:
description: |
<h4>2 credits per API call.</h4><br/>
<p>Approve ERC20 Fungible Tokens to be spendable by someone else. This method allows new address to transfer/burn ERC20 tokens on behalf of the owner.
<br/><br/>
This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key.
No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey
or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production,
<a href="https://github.com/tatumio/tatum-kms" target="_blank">Tatum KMS</a> should be used for the highest security standards, and signatureId should be present in the request.
Alternatively, using the Tatum client library for supported languages.
</p>
parameters:
- description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
in: header
name: x-testnet-type
required: false
schema:
default: ethereum-ropsten
type: string
enum:
- ethereum-ropsten
- ethereum-rinkeby
operationId: Erc20Approve
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/ApproveErc20"
- $ref: "#/components/schemas/ApproveErc20KMS"
- $ref: "#/components/schemas/ApproveCeloErc20"
- $ref: "#/components/schemas/ApproveCeloErc20KMS"
required: true
responses:
200:
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/TransactionHashKMS"
- $ref: "#/components/schemas/SignatureId"
description: OK
400:
<<: *API400
401:
<<: *API401
403:
description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/Error403"
500:
<<: *API500
security:
- X-Api-Key: [ ]
x-code-samples:
summary: Approve spending of ERC20
tags:
- Blockchain / Fungible Token
/v3/blockchain/token/transaction:
post:
description: |
<h4>2 credits per API call.</h4><br/>
<p>Transfer ERC20 Fungible Tokens from account to account. Transfer any ERC20 tokens from smart contract defined in contractAddress. This method invokes ERC20 method transfer() to transfer tokens.
<br/><br/>
This operation needs the private key of the blockchain address. Every time the funds are transferred, the transaction must be signed with the corresponding private key.
No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey
or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production,
<a href="https://github.com/tatumio/tatum-kms" target="_blank">Tatum KMS</a> should be used for the highest security standards, and signatureId should be present in the request.
Alternatively, using the Tatum client library for supported languages.
Algorand is unique a way that the receiving account should be ready before sending the FT(Erc20) asset.
To perform this, the receiving account should transfer the FT(Erc20) asset with 0 amount to itself.
During the process, it's using the same API as the main transaction: the only difference is that the "fromPrivateKey" should be the privateKey of the receiving account.
</p>
parameters:
- description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
in: header
name: x-testnet-type
required: false
schema:
default: ethereum-ropsten
type: string
enum:
- ethereum-ropsten
- ethereum-rinkeby
operationId: Erc20Transfer
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/ChainTransferAlgoErc20"
- $ref: "#/components/schemas/ChainTransferAlgoErc20KMS"
- $ref: "#/components/schemas/ChainTransferEthErc20"
- $ref: "#/components/schemas/ChainTransferEthErc20KMS"
- $ref: "#/components/schemas/ChainTransferKcsEthErc20"
- $ref: "#/components/schemas/ChainTransferKcsEthErc20KMS"
- $ref: "#/components/schemas/ChainTransferBscBep20"
- $ref: "#/components/schemas/ChainTransferBscBep20KMS"
- $ref: "#/components/schemas/ChainTransferCeloErc20Token"
- $ref: "#/components/schemas/ChainTransferCeloErc20TokenKMS"
# - $ref: "#/components/schemas/TransferTronTrc20"
required: true
responses:
200:
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/TransactionHashKMS"
- $ref: "#/components/schemas/SignatureId"
description: OK
400:
<<: *API400
401:
<<: *API401
403:
description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
content:
application/json:
schema:
oneOf:
- $ref: "#/components/schemas/Error403"
500:
<<: *API500
security:
- X-Api-Key: [ ]
x-code-samples:
summary: Transfer ERC20 Token
tags:
- Blockchain / Fungible Token
/v3/blockchain/token/transaction/{chain}/{address}/{tokenAddress}:
get:
description: "<h4>1 credit per API call.</h4><br/><p>Get ERC20 transactions by address. This includes incoming and outgoing transactions for the address.</p>"
operationId: Erc20GetTransactionByAddress
parameters:
- description: "Blockchain to work with"
in: path
name: chain
required: true
schema:
type: string
enum:
- CELO
example: "CELO"
- description: "Account address"
in: path
name: address
required: true
schema:
type: string
example: "0x8ce4e40889a13971681391aad29e88efaf91f784"
- description: "Token address"
in: path
name: tokenAddress
required: true
schema:
type: string
example: "0x1ce4e40889a13971681391aad29e88efaf91f784"
- description: Max number of items per page is 50.
in: query
name: pageSize
schema:
type: number
example: 10
maximum: 50
minimum: 1
required: true
- description: Offset to obtain next page of the data.
in: query
name: offset
schema:
type: number
example: 0
- description: Transactions from this block onwords will be included.
in: query
name: from
schema:
type: number
minimum: 0
example: 1087623
- description: Transactions up to this block will be included.
in: query
name: to
schema:
type: number
minimum: 0
example: 1087823
- description: Sorting of the data. ASC - oldest first, DESC - newest first.
in: query
name: sort
schema:
type: string
default: DESC
example: ASC
enum:
- ASC
- DESC
responses:
200:
content:
application/json:
schema:
type: array
items:
oneOf:
- $ref: "#/components/schemas/FungibleTx"
description: OK
400:
<<: *API400
401:
<<: *API401
500:
<<: *API500
security:
- X-Api-Key: [ ]
x-code-samples:
summary: Get ERC20 transactions by address
tags:
- Blockchain / Fungible Token
/v3/blockchain/token/balance/{chain}/{contractAddress}/{address}:
get:
description: "<h4>1 credit per API call.</h4><br/><p>Get ERC20 Account balance. Returns number of tokens Account holds.</p>"
operationId: Erc20GetBalance
parameters:
- description: "Network name"
in: path
name: chain
required: true
schema:
type: string
example: "CELO"
- description: "Account address"
in: path
name: address
required: true
schema:
type: string
example: "0x3223AEB8404C7525FcAA6C512f91e287AE9FfE7B"
- description: "ERC20 contract address"
in: path
name: contractAddress
required: true
schema:
type: string
example: "0x94Ce79B9F001E25BBEbE7C01998A78F7B27D1326"
- description: "Type of Ethereum testnet. Defaults to ropsten. Valid only for ETH invocations."
in: header
name: x-testnet-type
required: false
schema:
default: ethereum-ropsten
type: string
enum:
- ethereum-ropsten
- ethereum-rinkeby
responses:
200:
content:
application/json:
schema:
type: object
properties:
balance:
type: string
description: Number of ERC20 tokens in smallest token unit. E.g. token has 10 decimal places, so data returned are 9*10^10.
example: "10"
description: OK
400:
<<: *API400
401:
<<: *API401
403:
description: Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
content:
application/json:
schema:
$ref: "#/components/schemas/Error403"
500:
<<: *API500
security:
- X-Api-Key: [ ]
x-code-samples:
summary: Get ERC20 Account balance
tags:
- Blockchain / Fungible Token
components:
securitySchemes:
X-Api-Key:
description: |
To maintain the highest security level, Tatum requires X-API-Key HTTP header.
This X-API-Key represents identification of the plan and can be used by 1 developer or per environment.
Each X-API-Key is bound to the test or production blockchains.
in: header
name: x-api-key
type: apiKey
schemas:
ChainDeployErc20:
type: object
properties:
chain:
type: string
example: ETH
description: Chain to work with.
enum:
- ETH
- BSC
- MATIC
- XDC
- ONE
- ALGO
symbol:
description: Symbol of the ERC20 token
example: ERC_SYMBOL
maxLength: 30
minLength: 1
type: string
name:
description: Name of the ERC20 token
example: MyERC20
maxLength: 100
minLength: 1
pattern: ^[a-zA-Z0-9_]+$
type: string
totalCap:
description: Max supply of ERC20 token.
maxLength: 38
example: "10000000"
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
type: string
supply:
description: Initial supply of ERC20 token. If totalCap is not defined, this will be the total cap.
maxLength: 38
example: "10000000"
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
type: string
digits:
description: Number of decimal points
example: 18
maximum: 30
minimum: 1
type: number
address:
description: Address on Ethereum blockchain, where all created ERC20 tokens will be transferred.
maxLength: 43
minLength: 42
example: "0xa0Ca9FF38Bad06eBe64f0fDfF279cAE35129F5C6"
type: string
fromPrivateKey:
description: Private key of Ethereum account address, from which the fee for the deployment of ERC20 will be paid. Private key, or signature Id must be present.
type: string
example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
maxLength: 66
minLength: 66
nonce:
type: number
minimum: 0
description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
fee:
description: Custom defined fee. If not present, it will be calculated automatically.
type: object
required:
- gasLimit
- gasPrice
properties:
gasLimit:
type: string
description: Gas limit for transaction in gas price.
pattern: ^[+]?\d+$
example: "40000"
gasPrice:
type: string
description: Gas price in Gwei.
pattern: ^[+]?\d+$
example: "20"
required:
- chain
- name
- symbol
- address
- supply
- fromPrivateKey
- digits
FungibleTx:
type: object
properties:
blockNumber:
type: number
example: 6541235
description: Block number
txId:
type: string
example: "0x955c1037608c7aecb6d1a3f150ce7d0a80536bcabb0deb69d62f55292cc4c372"
description: Transaction ID
contractAddress:
type: string
example: "0x4f54fAD27F7F46C102Cd49b8E75C5593397cd9c3"
description: Contract address
amount:
type: string
example: "1"
description: Amount of tokens transferred, in smallest decimals
from:
type: string
example: "0x780c3de0aba1b51f04cfe8a5d9d277d4ad032b8d"
description: Sender
to:
type: string
example: "0x8cb76aed9c5e336ef961265c6079c14e9cd3d2ea"
description: recipient
required:
- txId
- blockNumber
- contractAddress
- amount
- from
- to
ChainDeployErc20KMS:
type: object
properties:
chain:
type: string
example: ETH
description: Chain to work with.
enum:
- ETH
- BSC
- XDC
symbol:
description: Symbol of the ERC20 token
example: ERC_SYMBOL
maxLength: 30
minLength: 1
type: string
name:
description: Name of the ERC20 token
example: MyERC20
maxLength: 100
minLength: 1
pattern: ^[a-zA-Z0-9_]+$
type: string
totalCap:
description: Max supply of ERC20 token.
maxLength: 38
example: "10000000"
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
type: string
supply:
description: Max supply of ERC20 token.
maxLength: 38
example: "10000000"
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
type: string
digits:
description: Number of decimal points
example: 18
maximum: 30
minimum: 1
type: number
address:
description: Address on Ethereum blockchain, where all created ERC20 tokens will be transferred.
maxLength: 43
minLength: 42
example: "0xa0Ca9FF38Bad06eBe64f0fDfF279cAE35129F5C6"
type: string
signatureId:
type: string
minLength: 36
maxLength: 36
format: uuid
example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
nonce:
type: number
minimum: 0
description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
fee:
description: Custom defined fee. If not present, it will be calculated automatically.
type: object
required:
- gasLimit
- gasPrice
properties:
gasLimit:
type: string
description: Gas limit for transaction in gas price.
pattern: ^[+]?\d+$
example: "40000"
gasPrice:
type: string
description: Gas price in Gwei.
pattern: ^[+]?\d+$
example: "20"
required:
- chain
- name
- symbol
- address
- supply
- signatureId
- digits
ChainDeployKcsErc20:
type: object
properties:
chain:
type: string
example: KCS
description: Chain to work with.
enum:
- KCS
symbol:
description: Symbol of the ERC20 token
example: ERC_SYMBOL
maxLength: 30
minLength: 1
type: string
name:
description: Name of the ERC20 token
example: MyERC20
maxLength: 100
minLength: 1
pattern: ^[a-zA-Z0-9_]+$
type: string
totalCap:
description: Max supply of ERC20 token.
maxLength: 38
example: "10000000"
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
type: string
supply:
description: Initial supply of ERC20 token. If totalCap is not defined, this will be the total cap.
maxLength: 38
example: "10000000"
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
type: string
digits:
description: Number of decimal points
example: 18
maximum: 30
minimum: 1
type: number
address:
description: Address on Ethereum blockchain, where all created ERC20 tokens will be transferred.
maxLength: 43
minLength: 42
example: "0xa0Ca9FF38Bad06eBe64f0fDfF279cAE35129F5C6"
type: string
fromPrivateKey:
description: Private key of Ethereum account address, from which the fee for the deployment of ERC20 will be paid. Private key, or signature Id must be present.
type: string
example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
maxLength: 66
minLength: 66
nonce:
type: number
minimum: 0
description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
fee:
description: Custom defined fee. If not present, it will be calculated automatically.
type: object
required:
- gasLimit
- gasPrice
properties:
gasLimit:
type: string
description: Gas limit for transaction in gas price.
pattern: ^[+]?\d+$
example: "40000"
gasPrice:
type: string
description: Gas price in Gwei.
pattern: ^[+]?\d+$
example: "20"
required:
- chain
- name
- symbol
- address
- supply
- fromPrivateKey
- digits
ChainDeployKcsErc20KMS:
type: object
properties:
chain:
type: string
example: KCS
description: Chain to work with.
enum:
- KCS
symbol:
description: Symbol of the ERC20 token
example: ERC_SYMBOL
maxLength: 30
minLength: 1
type: string
name:
description: Name of the ERC20 token
example: MyERC20
maxLength: 100
minLength: 1
pattern: ^[a-zA-Z0-9_]+$
type: string
totalCap:
description: Max supply of ERC20 token.
maxLength: 38
example: "10000000"
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
type: string
supply:
description: Max supply of ERC20 token.
maxLength: 38
example: "10000000"
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
type: string
digits:
description: Number of decimal points
example: 18
maximum: 30
minimum: 1
type: number
address:
description: Address on Ethereum blockchain, where all created ERC20 tokens will be transferred.
maxLength: 43
minLength: 42
example: "0xa0Ca9FF38Bad06eBe64f0fDfF279cAE35129F5C6"
type: string
signatureId:
type: string
minLength: 36
maxLength: 36
format: uuid
example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
nonce:
type: number
minimum: 0
description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
fee:
description: Custom defined fee. If not present, it will be calculated automatically.
type: object
required:
- gasLimit
- gasPrice
properties:
gasLimit:
type: string
description: Gas limit for transaction in gas price.
pattern: ^[+]?\d+$
example: "40000"
gasPrice:
type: string
description: Gas price in Gwei.
pattern: ^[+]?\d+$
example: "20"
required:
- chain
- name
- symbol
- address
- supply
- signatureId
- digits
ChainDeployCeloErc20:
type: object
properties:
chain:
type: string
example: CELO
description: Chain to work with.
enum:
- CELO
symbol:
description: Symbol of the ERC20 token
example: ERC_SYMBOL
maxLength: 30
minLength: 1
type: string
name:
description: Name of the ERC20 token
example: MyERC20
maxLength: 100
minLength: 1
pattern: ^[a-zA-Z0-9_]+$
type: string
totalCap:
description: Max supply of ERC20 token.
maxLength: 38
example: "10000000"
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
type: string
supply:
description: Max supply of ERC20 token.
maxLength: 38
example: "10000000"
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
type: string
digits:
description: Number of decimal points
example: 18
maximum: 30
minimum: 1
type: number
address:
description: Address on Ethereum blockchain, where all created ERC20 tokens will be transferred.
maxLength: 42
minLength: 42
example: "0xa0Ca9FF38Bad06eBe64f0fDfF279cAE35129F5C6"
type: string
fromPrivateKey:
description: Private key of Ethereum account address, from which the fee for the deployment of ERC20 will be paid. Private key, or signature Id must be present.
type: string
example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
maxLength: 66
minLength: 66
nonce:
type: number
minimum: 0
description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
feeCurrency:
type: string
description: Currency to pay for transaction gas
enum:
- CELO
- CUSD
- CEUR
required:
- chain
- name
- symbol
- address
- supply
- fromPrivateKey
- digits
- feeCurrency
ChainDeployCeloErc20KMS:
type: object
properties:
chain:
type: string
example: CELO
description: Chain to work with.
enum:
- CELO
symbol:
description: Symbol of the ERC20 token
example: ERC_SYMBOL
maxLength: 30
minLength: 1
type: string
name:
description: Name of the ERC20 token
example: MyERC20
maxLength: 100
minLength: 1
pattern: ^[a-zA-Z0-9_]+$
type: string
totalCap:
description: Max supply of ERC20 token.
maxLength: 38
example: "10000000"
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
type: string
supply:
description: Max supply of ERC20 token.
maxLength: 38
example: "10000000"
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
type: string
digits:
description: Number of decimal points
example: 18
maximum: 30
minimum: 1
type: number
address:
description: Address on Ethereum blockchain, where all created ERC20 tokens will be transferred.
maxLength: 42
minLength: 42
example: "0xa0Ca9FF38Bad06eBe64f0fDfF279cAE35129F5C6"
type: string
signatureId:
type: string
minLength: 36
maxLength: 36
format: uuid
example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
nonce:
type: number
minimum: 0
description: Nonce to be set to Ethereum transaction. If not present, last known nonce will be used.
feeCurrency:
type: string
description: Currency to pay for transaction gas
enum:
- CELO
- CUSD
- CEUR
required:
- chain
- name
- symbol
- address
- supply
- signatureId
- digits
- feeCurrency
# ChainCreateTronTrc20:
# type: object
# properties:
# chain:
# type: string
# example: TRON
# description: Chain to work with.
# enum:
# - TRON
# fromPrivateKey:
# type: string
# minLength: 64
# maxLength: 64
# description: Private key of the address, from which the TRX will be sent.
# example: 842E09EB40D8175979EFB0071B28163E11AED0F14BDD84090A4CEFB936EF5701
# recipient:
# type: string
# minLength: 34
# maxLength: 34
# description: Recipient address of created TRC20 tokens.
# example: TYMwiDu22V6XG3yk6W9cTVBz48okKLRczh
# name:
# type: string
# minLength: 1
# maxLength: 100
# description: Name of the token.
# example: My token
# symbol:
# type: string
# minLength: 1
# maxLength: 100
# description: Symbol of the token.
# example: SYM
# totalSupply:
# type: number
# minimum: 0
# description: Total supply of the tokens.
# example: 100000
# decimals:
# type: number
# minimum: 0
# maximum: 30
# description: Number of decimal places of the token.
# example: 10
# required:
# - chain
# - fromPrivateKey
# - name
# - recipient
# - symbol
# - totalSupply
# - decimals
ChainMintErc20:
type: object
properties:
chain:
type: string
example: ETH
description: Chain to work with.
enum:
- ETH
- BSC
- MATIC
- XDC
- ONE
amount:
description: Amount to be minted and transfered to the recipient.
example: "100000"
type: string
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
to:
maxLength: 43
minLength: 42
description: Blockchain address to send ERC-20 tokens to.
example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
type: string
contractAddress:
maxLength: 43
minLength: 42
description: Address of ERC-20 token
example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
type: string
fromPrivateKey:
type: string
maxLength: 66
example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
minLength: 66
description: Private key of sender address. Private key, or signature Id must be present.
nonce:
type: number
minimum: 0
description: Nonce to be set to transaction. If not present, last known nonce will be used.
required:
- chain
- to
- amount
- contractAddress
- fromPrivateKey
ChainMintKcsErc20:
type: object
properties:
chain:
type: string
example: KCS
description: Chain to work with.
enum:
- KCS
amount:
description: Amount to be minted and transfered to the recipient.
example: "100000"
type: string
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
to:
maxLength: 43
minLength: 42
description: Blockchain address to send ERC-20 tokens to.
example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
type: string
contractAddress:
maxLength: 43
minLength: 42
description: Address of ERC-20 token
example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
type: string
fromPrivateKey:
type: string
maxLength: 66
example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
minLength: 66
description: Private key of sender address. Private key, or signature Id must be present.
nonce:
type: number
minimum: 0
description: Nonce to be set to transaction. If not present, last known nonce will be used.
required:
- chain
- to
- amount
- contractAddress
- fromPrivateKey
ChainMintErc20KMS:
type: object
properties:
chain:
type: string
example: ETH
description: Chain to work with.
enum:
- ETH
- BSC
- XDC
amount:
description: Amount to be minted and transfered to the recipient.
example: "100000"
type: string
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
to:
maxLength: 43
minLength: 42
description: Blockchain address to send ERC-20 tokens to.
example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
type: string
contractAddress:
maxLength: 43
minLength: 42
description: Address of ERC-20 token
example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
type: string
signatureId:
type: string
minLength: 36
maxLength: 36
format: uuid
example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
nonce:
type: number
minimum: 0
description: Nonce to be set to transaction. If not present, last known nonce will be used.
required:
- chain
- to
- amount
- contractAddress
- signatureId
ChainMintKcsErc20KMS:
type: object
properties:
chain:
type: string
example: KCS
description: Chain to work with.
enum:
- KCS
amount:
description: Amount to be minted and transfered to the recipient.
example: "100000"
type: string
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
to:
maxLength: 43
minLength: 42
description: Blockchain address to send ERC-20 tokens to.
example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
type: string
contractAddress:
maxLength: 43
minLength: 42
description: Address of ERC-20 token
example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
type: string
signatureId:
type: string
minLength: 36
maxLength: 36
format: uuid
example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
nonce:
type: number
minimum: 0
description: Nonce to be set to transaction. If not present, last known nonce will be used.
required:
- chain
- to
- amount
- contractAddress
- signatureId
ChainMintCeloErc20:
type: object
properties:
chain:
type: string
example: CELO
description: Chain to work with.
enum:
- CELO
amount:
description: Amount to be minted and transfered to the recipient.
example: "100000"
type: string
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
to:
maxLength: 42
minLength: 42
description: Blockchain address to send ERC-20 tokens to.
example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
type: string
contractAddress:
maxLength: 42
minLength: 42
description: Address of ERC-20 token
example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
type: string
fromPrivateKey:
type: string
maxLength: 66
example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
minLength: 66
description: Private key of sender address. Private key, or signature Id must be present.
nonce:
type: number
minimum: 0
description: Nonce to be set to Celo transaction. If not present, last known nonce will be used.
feeCurrency:
type: string
description: Currency to pay for transaction gas
enum:
- CELO
- CUSD
- CEUR
required:
- chain
- to
- amount
- feeCurrency
- contractAddress
- fromPrivateKey
ChainMintCeloErc20KMS:
type: object
properties:
chain:
type: string
example: CELO
description: Chain to work with.
enum:
- CELO
amount:
description: Amount to be minted and transfered to the recipient.
example: "100000"
type: string
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
to:
maxLength: 42
minLength: 42
description: Blockchain address to send ERC-20 tokens to.
example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
type: string
contractAddress:
maxLength: 42
minLength: 42
description: Address of ERC-20 token
example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
type: string
signatureId:
type: string
minLength: 36
maxLength: 36
format: uuid
example: 26d3883e-4e17-48b3-a0ee-09a3e484ac83
description: Identifier of the private key associated in signing application. Private key, or signature Id must be present.
nonce:
type: number
minimum: 0
description: Nonce to be set to Celo transaction. If not present, last known nonce will be used.
feeCurrency:
type: string
description: Currency to pay for transaction gas
enum:
- CELO
- CUSD
- CEUR
required:
- chain
- to
- amount
- feeCurrency
- contractAddress
- signatureId
ApproveErc20:
type: object
properties:
chain:
type: string
example: ETH
description: Chain to work with.
enum:
- ETH
- BSC
- MATIC
- ONE
amount:
description: Amount to be approved for the spender.
example: "100000"
type: string
pattern: ^[+]?((\d+(\.\d*)?)|(\.\d+))$
spender:
maxLength: 43
minLength: 42
description: Blockchain address of the new spender.
example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
type: string
contractAddress:
maxLength: 43
minLength: 42
description: Address of ERC-20 token
example: "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
type: string
fromPrivateKey:
type: string
maxLength: 66
example: "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
minLength: 66
description: Private key of sender address. Private key, or signature Id must be present.
nonce:
type: number
minimum: 0
description: Nonce to be set to transaction. If not present, last known nonce will be used.
required:
- chain
- spender
- amount
- contractAddress
- fromPrivateKey
ApproveErc20KMS:
type: object
properties:
chain:
type: string