All URIs are relative to https://api.gateio.ws/api/v4
| Method | HTTP request | Description |
|---|---|---|
| swapETH2 | POST /earn/staking/eth2/swap | ETH2 swap |
| rateListETH2 | GET /earn/staking/eth2/rate_records | ETH2 historical return rate query |
| listDualInvestmentPlans | GET /earn/dual/investment_plan | Dual Investment product list |
| listDualOrders | GET /earn/dual/orders | Dual Investment order list |
| placeDualOrder | POST /earn/dual/orders | Place Dual Investment order |
| listStructuredProducts | GET /earn/structured/products | Structured Product List |
| listStructuredOrders | GET /earn/structured/orders | Structured Product Order List |
| placeStructuredOrder | POST /earn/structured/orders | Place Structured Product Order |
| findCoin | GET /earn/staking/coins | Staking coins |
| swapStakingCoin | POST /earn/staking/swap | On-chain token swap for earned coins |
Promise<{ response: http.IncomingMessage; body?: any; }> swapETH2(eth2Swap)
ETH2 swap
const GateApi = require('gate-api');
const client = new GateApi.ApiClient();
// uncomment the next line to change base path
// client.basePath = "https://some-other-host"
// Configure Gate APIv4 key authentication:
client.setApiKeySecret("YOUR_API_KEY", "YOUR_API_SECRET");
const api = new GateApi.EarnApi(client);
const eth2Swap = new Eth2Swap(); // Eth2Swap |
api.swapETH2(eth2Swap)
.then(value => console.log('API called successfully.'),
error => console.error(error));| Name | Type | Description | Notes |
|---|---|---|---|
| eth2Swap | Eth2Swap |
Promise<{ response: AxiosResponse; body?: any; }>
- Content-Type: application/json
- Accept: Not defined
Promise<{ response: http.IncomingMessage; body: Array; }> rateListETH2()
ETH2 historical return rate query
Query ETH earnings rate records for the last 31 days
const GateApi = require('gate-api');
const client = new GateApi.ApiClient();
// uncomment the next line to change base path
// client.basePath = "https://some-other-host"
// Configure Gate APIv4 key authentication:
client.setApiKeySecret("YOUR_API_KEY", "YOUR_API_SECRET");
const api = new GateApi.EarnApi(client);
api.rateListETH2()
.then(value => console.log('API called successfully. Returned data: ', value.body),
error => console.error(error));This endpoint does not need any parameter.
Promise<{ response: AxiosResponse; body: Array; }> Eth2RateList
- Content-Type: Not defined
- Accept: application/json
Promise<{ response: http.IncomingMessage; body: Array; }> listDualInvestmentPlans(opts)
Dual Investment product list
const GateApi = require('gate-api');
const client = new GateApi.ApiClient();
// uncomment the next line to change base path
// client.basePath = "https://some-other-host"
const api = new GateApi.EarnApi(client);
const opts = {
'planId': 1 // number | Financial project ID
};
api.listDualInvestmentPlans(opts)
.then(value => console.log('API called successfully. Returned data: ', value.body),
error => console.error(error));| Name | Type | Description | Notes |
|---|---|---|---|
| planId | number | Financial project ID | [optional] [default to undefined] |
Promise<{ response: AxiosResponse; body: Array; }> DualGetPlans
No authorization required
- Content-Type: Not defined
- Accept: application/json
Promise<{ response: http.IncomingMessage; body: Array; }> listDualOrders(opts)
Dual Investment order list
const GateApi = require('gate-api');
const client = new GateApi.ApiClient();
// uncomment the next line to change base path
// client.basePath = "https://some-other-host"
// Configure Gate APIv4 key authentication:
client.setApiKeySecret("YOUR_API_KEY", "YOUR_API_SECRET");
const api = new GateApi.EarnApi(client);
const opts = {
'from': 1740727000, // number | Start settlement time
'to': 1740729000, // number | End settlement time
'page': 1, // number | Page number
'limit': 100 // number | Maximum number of records returned in a single list
};
api.listDualOrders(opts)
.then(value => console.log('API called successfully. Returned data: ', value.body),
error => console.error(error));| Name | Type | Description | Notes |
|---|---|---|---|
| from | number | Start settlement time | [optional] [default to undefined] |
| to | number | End settlement time | [optional] [default to undefined] |
| page | number | Page number | [optional] [default to 1] |
| limit | number | Maximum number of records returned in a single list | [optional] [default to 100] |
Promise<{ response: AxiosResponse; body: Array; }> DualGetOrders
- Content-Type: Not defined
- Accept: application/json
Promise<{ response: http.IncomingMessage; body?: any; }> placeDualOrder(placeDualInvestmentOrder)
Place Dual Investment order
const GateApi = require('gate-api');
const client = new GateApi.ApiClient();
// uncomment the next line to change base path
// client.basePath = "https://some-other-host"
// Configure Gate APIv4 key authentication:
client.setApiKeySecret("YOUR_API_KEY", "YOUR_API_SECRET");
const api = new GateApi.EarnApi(client);
const placeDualInvestmentOrder = new PlaceDualInvestmentOrder(); // PlaceDualInvestmentOrder |
api.placeDualOrder(placeDualInvestmentOrder)
.then(value => console.log('API called successfully.'),
error => console.error(error));| Name | Type | Description | Notes |
|---|---|---|---|
| placeDualInvestmentOrder | PlaceDualInvestmentOrder |
Promise<{ response: AxiosResponse; body?: any; }>
- Content-Type: application/json
- Accept: Not defined
Promise<{ response: http.IncomingMessage; body: Array; }> listStructuredProducts(status, opts)
Structured Product List
const GateApi = require('gate-api');
const client = new GateApi.ApiClient();
// uncomment the next line to change base path
// client.basePath = "https://some-other-host"
const api = new GateApi.EarnApi(client);
const status = "in_process"; // string | Status (Default empty to query all) `in_process`-In progress `will_begin`-Not started `wait_settlement`-Pending settlement `done`-Completed
const opts = {
'type': "BullishSharkFin", // string | Product Type (Default empty to query all) `SharkFin2.0`-Shark Fin `BullishSharkFin`-Bullish Treasure `BearishSharkFin`-Bearish Treasure `DoubleNoTouch`-Volatility Treasure `RangeAccrual`-Range Smart Yield `SnowBall`-Snowball
'page': 1, // number | Page number
'limit': 100 // number | Maximum number of records returned in a single list
};
api.listStructuredProducts(status, opts)
.then(value => console.log('API called successfully. Returned data: ', value.body),
error => console.error(error));| Name | Type | Description | Notes |
|---|---|---|---|
| status | string | Status (Default empty to query all) `in_process`-In progress `will_begin`-Not started `wait_settlement`-Pending settlement `done`-Completed | [default to undefined] |
| type | string | Product Type (Default empty to query all) `SharkFin2.0`-Shark Fin `BullishSharkFin`-Bullish Treasure `BearishSharkFin`-Bearish Treasure `DoubleNoTouch`-Volatility Treasure `RangeAccrual`-Range Smart Yield `SnowBall`-Snowball | [optional] [default to undefined] |
| page | number | Page number | [optional] [default to 1] |
| limit | number | Maximum number of records returned in a single list | [optional] [default to 100] |
Promise<{ response: AxiosResponse; body: Array; }> StructuredGetProjectList
No authorization required
- Content-Type: Not defined
- Accept: application/json
Promise<{ response: http.IncomingMessage; body: Array; }> listStructuredOrders(opts)
Structured Product Order List
const GateApi = require('gate-api');
const client = new GateApi.ApiClient();
// uncomment the next line to change base path
// client.basePath = "https://some-other-host"
// Configure Gate APIv4 key authentication:
client.setApiKeySecret("YOUR_API_KEY", "YOUR_API_SECRET");
const api = new GateApi.EarnApi(client);
const opts = {
'from': 1547706332, // number | Start timestamp Specify start time, time format is Unix timestamp. If not specified, it defaults to (the data start time of the time range actually returned by to and limit)
'to': 1547706332, // number | Termination Timestamp Specify the end time. If not specified, it defaults to the current time, and the time format is a Unix timestamp
'page': 1, // number | Page number
'limit': 100 // number | Maximum number of records returned in a single list
};
api.listStructuredOrders(opts)
.then(value => console.log('API called successfully. Returned data: ', value.body),
error => console.error(error));| Name | Type | Description | Notes |
|---|---|---|---|
| from | number | Start timestamp Specify start time, time format is Unix timestamp. If not specified, it defaults to (the data start time of the time range actually returned by to and limit) | [optional] [default to undefined] |
| to | number | Termination Timestamp Specify the end time. If not specified, it defaults to the current time, and the time format is a Unix timestamp | [optional] [default to undefined] |
| page | number | Page number | [optional] [default to 1] |
| limit | number | Maximum number of records returned in a single list | [optional] [default to 100] |
Promise<{ response: AxiosResponse; body: Array; }> StructuredOrderList
- Content-Type: Not defined
- Accept: application/json
Promise<{ response: http.IncomingMessage; body?: any; }> placeStructuredOrder(structuredBuy)
Place Structured Product Order
const GateApi = require('gate-api');
const client = new GateApi.ApiClient();
// uncomment the next line to change base path
// client.basePath = "https://some-other-host"
// Configure Gate APIv4 key authentication:
client.setApiKeySecret("YOUR_API_KEY", "YOUR_API_SECRET");
const api = new GateApi.EarnApi(client);
const structuredBuy = new StructuredBuy(); // StructuredBuy |
api.placeStructuredOrder(structuredBuy)
.then(value => console.log('API called successfully.'),
error => console.error(error));| Name | Type | Description | Notes |
|---|---|---|---|
| structuredBuy | StructuredBuy |
Promise<{ response: AxiosResponse; body?: any; }>
- Content-Type: application/json
- Accept: Not defined
Promise<{ response: http.IncomingMessage; body: object; }> findCoin(findCoin)
Staking coins
const GateApi = require('gate-api');
const client = new GateApi.ApiClient();
// uncomment the next line to change base path
// client.basePath = "https://some-other-host"
// Configure Gate APIv4 key authentication:
client.setApiKeySecret("YOUR_API_KEY", "YOUR_API_SECRET");
const api = new GateApi.EarnApi(client);
const findCoin = new FindCoin(); // FindCoin |
api.findCoin(findCoin)
.then(value => console.log('API called successfully. Returned data: ', value.body),
error => console.error(error));| Name | Type | Description | Notes |
|---|---|---|---|
| findCoin | FindCoin |
Promise<{ response: AxiosResponse; body: object; }> object
- Content-Type: application/json
- Accept: application/json
Promise<{ response: http.IncomingMessage; body: SwapCoinStruct; }> swapStakingCoin(swapCoin)
On-chain token swap for earned coins
const GateApi = require('gate-api');
const client = new GateApi.ApiClient();
// uncomment the next line to change base path
// client.basePath = "https://some-other-host"
// Configure Gate APIv4 key authentication:
client.setApiKeySecret("YOUR_API_KEY", "YOUR_API_SECRET");
const api = new GateApi.EarnApi(client);
const swapCoin = new SwapCoin(); // SwapCoin |
api.swapStakingCoin(swapCoin)
.then(value => console.log('API called successfully. Returned data: ', value.body),
error => console.error(error));| Name | Type | Description | Notes |
|---|---|---|---|
| swapCoin | SwapCoin |
Promise<{ response: AxiosResponse; body: SwapCoinStruct; }> SwapCoinStruct
- Content-Type: application/json
- Accept: application/json