eosMate comes up with a mobile-friendly JSON REST API for communicating with the client apps
eosMate API is used to interact with client apps.
For security reasons, it is necessary to create an account first. All API endpoints are authenticated with the Bearer token that is generated for you after the signup. If you forget the token it can be retrieved via the Token Request endpoint.
When a client adds an account to the eosMate app it is automatically subscribed for receieving notifications about sent transaction requests. No need to say, that transactions can be signed only after the user has added the private key for the account in the app. Client app lists all receieved transaction requests and user can sign the requested transaction or delete it.
Transaction requests are very generic. For better app UX please specify the type of the transaction viz Transaction Request. Smart contract function parameters are being passed within the JSON as a string that is how they are then also signed and broadcasted on the blockchain.
If some account will spam clients with too many transaction requests it will be baned.
All requests are accepted only via https protocol.
The API is still under development if you have a feature request or found a bug please contact us directly.
BASE API URL: https://eosmate.io/api/v1/
First, create your account for interacting with the API.
POST: eosmate.io/api/v1/sign-up
JSON Parameters
Parameter | Type | Position | Description |
---|---|---|---|
firstName | string |
Body |
Accounts first name |
lastName | string |
Body |
Accounts last name |
password | string |
Body |
Password used for the account |
string |
Body |
Email address that will be used as accounts ID | |
website | string |
Body |
Email of the account, can be left blank if account does not have a website |
companyName | string |
Body |
If the account belongs to a company please provide company name |
JSON Example
JSON Response
The response is a BEARER token that is later used to authenticate requests
Get your token if you have forgotten it
POST: eosmate.io/api/v1/token
JSON Parameters
Parameter | Type | Position | Description |
---|---|---|---|
password | string |
Body |
Password used for the account |
string |
Body |
Email address that will be used as accounts ID |
JSON Example
JSON Response
The response is a BEARER token that is later used to authenticate requests
Send a transaction request to a client
POST: eosmate.io/api/v1/transaction
JSON Parameters
Parameter | Type | Position | Description |
---|---|---|---|
Authorization | string |
Headers |
Bearer token is used to authenticate the request |
accountName | string |
Body |
Account that is required to sign the transaction |
tableName | string |
Body |
Name of the table on EOS blockchain |
action | string |
Body |
Action that is going to be performed on the targeting smart contract |
transactionName | string |
Body |
User displayed value for this transaction request |
type | string |
Body |
Currently supported types are tokens, ram, stake, custom. For better UX provide a transaction request type if it is a custom developed contract specify it with custom |
parameters | string |
Body |
A base64 encoded string representation of the action parameters on the smart contract. Parametrs showacase is in example below however, it needs to be encoded with base64 for real use. |
JSON Example
JSON Response
Get all pending transactions for an account
GET: eosmate.io/api/v1/transactions
JSON Parameters
Parameter | Type | Position | Description |
---|---|---|---|
accountName | string |
Query |
Account that is required to sign the transaction |
JSON Example
GET: eosmate.io/api/v1/transactions?accountName=achievemeapp
JSON Response
Delete a transaction that was sent to a user to be signed
DELETE: eosmate.io/api/v1/transaction
JSON Parameters
Authorization | string |
Headers |
Bearer token is used to authenticate the request |
accountName | string |
Body |
Account that is required to sign the transaction |
tableName | string |
Body |
Name of the table on EOS blockchain |
action | string |
Body |
Action that is going to be performed on the targeting smart contract |
transactionName | string |
Body |
User displayed value for this transaction request |
type | string |
Body |
Currently supported types are tokens, ram, stake, custom. For better UX provide a transaction request type if it is a custom developed contract specify it with custom |
parameters | string |
Body |
A string representation of the action parameters on the smart contract |
accountName | string |
Query |
Account that is required to sign the transaction |
Response
200 OK