> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.paradex.trade/api/prod/system/get-config/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.paradex.trade/_mcp/server. # Get system config GET https://api.prod.paradex.trade/v1/system/config Get clearing and settlement layer config for Paradex Reference: https://docs.paradex.trade/api/prod/system/get-config ## Response ### 200 OK - `assets_limit_per_account` (integer, optional) — Maximum number of token or synthetic positions allowed per account - `block_explorer_url` (string, optional) — Block explorer URL for the current SN Instance - `bridged_tokens` (list of responses.BridgedToken, optional) — bridged tokens config https://github.com/starknet-io/starknet-addresses/blob/master/bridged_tokens/goerli.json - `dime_staking_contract_address` (string, optional) — DIME Staking contract address - `environment` (string, optional) — Environment of the Paradex Instance - `l1_chain_id` (string, optional) — L1 chain ID value - `l1_core_contract_address` (string, optional) — Address of Starknet L1 core contract - `l1_operator_address` (string, optional) — Address of Starknet L1 operator - `l1_relayer_address` (string, optional) — Address of L1 Relayer - `l2_relayer_address` (string, optional) — Address of L2 Relayer - `liquidation_fee` (string, optional) — Liquidation fee - `oracle_address` (string, optional) — Oracle contract address - `paraclear_account_hash` (string, optional) — Class hash of the account contract - `paraclear_account_proxy_hash` (string, optional) — Proxy hash of the account contract - `paraclear_address` (string, optional) — Paraclear contract address - `paraclear_decimals` (integer, optional) - `paraclear_evm_account_hash` (string, optional) — Class hash of the EVM (secp256k1) account contract - `partial_liquidation_buffer` (string, optional) — Partial liquidation buffer. Account value is supposed to be at least this much above the MMR after partial liquidation - `partial_liquidation_share_increment` (string, optional) — Minimum granularity of partial liquidation share. The share is rounded up to the nearest multiple of this value - `rfq_default_max_slippage` (string, optional) — The exchange-wide fallback bound an unpriced RFQ's margin is computed from, as a fraction of the underlying spot notional, for an asset that carries no bound of its own. Per-asset bounds are on /system/margin-config, already resolved. It does not bound the execution: a quote wider than it is executable, and is charged what it actually costs. The price bands are what bound the trade. - `starknet_chain_id` (string, optional) — Chain ID for the Starknet Instance - `starknet_fullnode_rpc_base_url` (string, optional) — Full node RPC Proxy base URL for Starknet - `starknet_fullnode_rpc_url` (string, optional) — Full node RPC Proxy URL for Starknet - `starknet_gateway_url` (string, optional) — This field is deprecated - `universal_deployer_address` (string, optional) — Universal deployer address ## Types ### responses.BridgedToken - `decimals` (integer, optional) - `l1_bridge_address` (string, optional) - `l1_token_address` (string, optional) - `l2_bridge_address` (string, optional) - `l2_token_address` (string, optional) - `name` (string, optional) - `symbol` (string, optional) ## Examples **Response** ```json { "assets_limit_per_account": 550, "block_explorer_url": "https://voyager.testnet.paradex.trade/", "bridged_tokens": [ { "decimals": 1, "l1_bridge_address": "string", "l1_token_address": "string", "l2_bridge_address": "string", "l2_token_address": "string", "name": "string", "symbol": "string" } ], "dime_staking_contract_address": "string", "environment": "local", "l1_chain_id": "5", "l1_core_contract_address": "0x182FE62c57461d4c5Ab1aE6F04f1D51aA1607daf", "l1_operator_address": "0x63e762538C70442758Fd622116d817761c94FD6A", "l1_relayer_address": "0x63e762538C70442758Fd622116d817761c94FD6A", "l2_relayer_address": "0x63e762538C70442758Fd622116d817761c94FD6A", "liquidation_fee": "0.20", "oracle_address": "0x47c622ce5f7ff7fa17725df596f4f506364e49be0621eb142a75b44ee3689c6", "paraclear_account_hash": "0x033434ad846cdd5f23eb73ff09fe6fddd568284a0fb7d1be20ee482f044dabe2", "paraclear_account_proxy_hash": "0x3530cc4759d78042f1b543bf797f5f3d647cde0388c33734cf91b7f7b9314a9", "paraclear_address": "0x4638e3041366aa71720be63e32e53e1223316c7f0d56f7aa617542ed1e7554d", "paraclear_decimals": 1, "paraclear_evm_account_hash": "string", "partial_liquidation_buffer": "0.2", "partial_liquidation_share_increment": "0.05", "rfq_default_max_slippage": "0.0005", "starknet_chain_id": "SN_CHAIN_ID", "starknet_fullnode_rpc_base_url": "https://rpc.api.testnet.paradex.trade", "starknet_fullnode_rpc_url": "https://rpc.api.testnet.paradex.trade/rpc/v0_10", "starknet_gateway_url": "string", "universal_deployer_address": "0x1f3f9d3f1f0b7f3f9f3f9f3f9f3f9f3f9f3f9f3f" } ``` **SDK Code** ```python import requests headers = { 'Accept': 'application/json' } r = requests.get('https://api.prod.paradex.trade/v1/system/config', headers = headers) print(r.json()) ``` ```javascript const headers = { 'Accept':'application/json' }; fetch('https://api.prod.paradex.trade/v1/system/config', { method: 'GET', headers: headers }) .then(function(res) { return res.json(); }).then(function(body) { console.log(body); }); ``` ```go package main import ( "bytes" "net/http" ) func main() { headers := map[string][]string{ "Accept": []string{"application/json"} } data := bytes.NewBuffer([]byte{jsonReq}) req, err := http.NewRequest("GET", "https://api.prod.paradex.trade/v1/system/config", data) req.Header = headers client := &http.Client{} resp, err := client.Do(req) // ... } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api.prod.paradex.trade/v1/system/config") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api.prod.paradex.trade/v1/system/config") .asString(); ``` ```php request('GET', 'https://api.prod.paradex.trade/v1/system/config'); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://api.prod.paradex.trade/v1/system/config"); var request = new RestRequest(Method.GET); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let request = NSMutableURLRequest(url: NSURL(string: "https://api.prod.paradex.trade/v1/system/config")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```