Symbol Configs
Endpoint
GET /symbol-configs
Request
None
Response
JSON Object
Response Fields
Symbol Configurations (a
)
Field | Type | Description |
---|---|---|
a | int32 | Symbol ID |
b | int32 | Symbol type: SPOT (0), FUTURES (1) |
c | int32 | Base currency ID |
d | string | Base currency name |
p | int32 | Base currency decimal places |
e | int32 | Quote currency ID |
f | string | Quote currency name |
q | int32 | Quote currency decimal places |
g | string | Symbol name (e.g., "ETH_USDT") |
k | int32 | Price step decimal places. For example: The minimum price movement for BTC_USDT is 0.0001 USDT, then k will be 4 (indicating 4 decimal places). If the minimum price movement is 0.00001 USDT, then k will be 5. |
m | int32 | Size step decimal places. For example: The minimum amount movement for BTC_USDT is 0.0001 BTC, then m will be 4 (indicating 4 decimal places). If the minimum amount movement is 0.00001 BTC, then m will be 5. |
n | boolean | User trading enabled (true /false ) |
o | boolean | |
i | string | User trading start time (timestamp). Valid if i > 0 and n = true |
j | string | |
l | string | Trading end time (timestamp). Valid if l > 0 |
h | object | Trading rules by VIP level |
Trading Rules (h
)
Field | Type | Description |
---|---|---|
n | int32 | VIP level |
r | string | Maker fee percent |
s | string | Taker fee percent |
t | string | Minimum order amount in quote currency |
u | string | Maximum market order amount in quote currency |
v | string | Maximum limit order amount in quote currency |
x | int32 | Maximum number of open limit orders |
y | string | Upper price limit percent. For example: If the last matched price for ETH/USDT is $100, and y = 10, a buy limit order cannot be placed above $110, and a sell limit order cannot be placed below $90. If y < 0, this limit does not apply. |
z | string | Lower price limit percent. For example: If the last matched price for ETH/USDT is $100, and z = 10, a buy limit order cannot be placed below $90, and a sell limit order cannot be placed above $110. If z < 0, this limit does not apply. |
Currency Details (b
)
Field | Type | Description |
---|---|---|
a | int32 | Currency ID |
b | string | Currency name |
c | int32 | Decimal places for currency |
d | int32 | Decimal places for withdrawal amount |
Example Usage
- cURL
- ReactJS
- React Native
- Node.js
- Java
- C#
- Python
- Go
- Rust
curl --location 'https://spot-markets-dev.goonus.io/symbol-configs'
import React, { useEffect, useState } from 'react';
function SymbolConfigs() {
const [data, setData] = useState(null);
useEffect(() => {
fetch('https://spot-markets-dev.goonus.io/symbol-configs')
.then(response => response.json())
.then(setData)
.catch(error => console.error('Error:', error));
}, []);
return (
<div>
<h1>Symbol Configs</h1>
<pre>{data ? JSON.stringify(data, null, 2) : 'Loading...'}</pre>
</div>
);
}
export default SymbolConfigs;
import { useEffect } from 'react';
import { Text, View } from 'react-native';
const fetchData = async () => {
try {
const response = await fetch('https://spot-markets-dev.goonus.io/symbol-configs');
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
};
export default function App() {
useEffect(() => {
fetchData();
}, []);
return (
<View>
<Text>Check console for API data.</Text>
</View>
);
}
const axios = require('axios');
axios.get('https://spot-markets-dev.goonus.io/symbol-configs')
.then(response => console.log(response.data))
.catch(error => console.error('Error:', error));
import java.net.http.*;
import java.net.URI;
public class SymbolConfigs {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://spot-markets-dev.goonus.io/symbol-configs"))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main(string[] args) {
var client = new HttpClient();
var response = await client.GetStringAsync("https://spot-markets-dev.goonus.io/symbol-configs");
Console.WriteLine(response);
}
}
import requests
url = "https://spot-markets-dev.goonus.io/symbol-configs"
response = requests.get(url)
print(response.json())
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://spot-markets-dev.goonus.io/symbol-configs"
resp, err := http.Get(url)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(body))
}
use reqwest;
use tokio;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let resp = reqwest::get("https://spot-markets-dev.goonus.io/symbol-configs").await?.text().await?;
println!("{}", resp);
Ok(())
}
Response
{
"a": [
{
"a": 25,
"b": 0,
"c": 15,
"d": "ONX",
"p": 6,
"e": 1,
"f": "USDT",
"q": 8,
"g": "ONX_USDT",
"k": 8,
"m": 0,
"i": "1733126400000",
"j": "1733126390000",
"l": "0",
"n": true,
"o": true,
"h": {
"0": {
"n": 0,
"r": "0.10000000",
"s": "0.10000000",
"t": "5.00000000",
"u": "10000.00000000",
"v": "30000.00000000",
"x": 200,
"y": "50.00000000",
"z": "90.00000000"
}
}
}
],
"b": [
{
"a": 3,
"b": "BTC",
"c": 8,
"d": 8
}
]
}
note
- Trading Rules apply differently depending on the user's VIP level.
- Timestamps are valid only when they are greater than
0
and the corresponding trading enable flag istrue
.