{ "info": { "name": "sra_report", "_postman_id": "d5828163-ddb9-46a9-ec39-c2b81417b6c0", "description": "[Standard Relayer API](\nhttps://github.com/0xProject/standard-relayer-api)\n\n\n0x Protocol is an open standard. Because of this, we expect many independent applications to be built that will want to use the protocol. In order to make it easier for anyone to source liquidity that conforms to the 0x order format, relayers can opt-in to implementing a set of standard relayer API endpoints. In doing so, they allow clients of the standard relayer API to access the orders on their orderbook.", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ { "name": "GET /token_pairs", "description": "", "item": [ { "name": "default request", "event": [ { "listen": "test", "script": { "id": "e6a00c7a-acc8-4f51-b0c9-11d005ee1dac", "type": "text/javascript", "exec": [""] } } ], "request": { "method": "GET", "header": [], "body": {}, "url": { "raw": "{{url}}/v0/token_pairs", "host": ["{{url}}"], "path": ["v0", "token_pairs"] }, "description": "" }, "response": [] }, { "name": "tokenA param", "event": [ { "listen": "test", "script": { "id": "e6a00c7a-acc8-4f51-b0c9-11d005ee1dac", "type": "text/javascript", "exec": [""] } } ], "request": { "method": "GET", "header": [], "body": {}, "url": { "raw": "{{url}}/v0/token_pairs?tokenA={{WETH_address}}", "host": ["{{url}}"], "path": ["v0", "token_pairs"], "query": [ { "key": "tokenA", "value": "{{WETH_address}}", "equals": true } ] }, "description": "" }, "response": [] }, { "name": "tokenB param", "event": [ { "listen": "test", "script": { "id": "e6a00c7a-acc8-4f51-b0c9-11d005ee1dac", "type": "text/javascript", "exec": [""] } } ], "request": { "method": "GET", "header": [], "body": {}, "url": { "raw": "{{url}}/v0/token_pairs?tokenB={{WETH_address}}", "host": ["{{url}}"], "path": ["v0", "token_pairs"], "query": [ { "key": "tokenB", "value": "{{WETH_address}}", "equals": true } ] }, "description": "" }, "response": [] }, { "name": "tokenA and tokenB params", "event": [ { "listen": "test", "script": { "id": "e6a00c7a-acc8-4f51-b0c9-11d005ee1dac", "type": "text/javascript", "exec": [""] } } ], "request": { "method": "GET", "header": [], "body": {}, "url": { "raw": "{{url}}/v0/token_pairs?tokenA={{WETH_address}}&tokenB={{ZRX_address}}", "host": ["{{url}}"], "path": ["v0", "token_pairs"], "query": [ { "key": "tokenA", "value": "{{WETH_address}}", "equals": true }, { "key": "tokenB", "value": "{{ZRX_address}}", "equals": true } ] }, "description": "" }, "response": [] } ], "event": [ { "listen": "prerequest", "script": { "id": "3d032e92-6a17-49f0-8115-bae1c7298b55", "type": "text/javascript", "exec": [""] } }, { "listen": "test", "script": { "id": "25addb38-bd1c-4eb3-a193-5617119dc0d6", "type": "text/javascript", "exec": [ "const schema = tv4.getSchema('/RelayerApiTokenPairsResponse');", "const responseJsonData = pm.response.json();", "", "pm.test('Schema is valid', function() {", " pm.expect(tv4.validate(responseJsonData, schema)).to.be.true;", "});", "" ] } } ] }, { "name": "GET /orders", "description": "", "item": [ { "name": "default request", "event": [ { "listen": "test", "script": { "id": "bd42f688-23d2-4a9c-941c-d5bf34f85519", "type": "text/javascript", "exec": [""] } } ], "request": { "method": "GET", "header": [], "body": {}, "url": { "raw": "{{url}}/v0/orders", "host": ["{{url}}"], "path": ["v0", "orders"] }, "description": "Retrieves a list of orders given query parameters. For querying an entire orderbook snapshot, the orderbook endpoint is recommended.\n\nParameters\n * exchangeContractAddress [string]: returns orders created for this exchange address\n * tokenAddress [string]: returns orders where makerTokenAddress or takerTokenAddress is token address\n * makerTokenAddress [string]: returns orders with specified makerTokenAddress\n * takerTokenAddress [string]: returns orders with specified makerTokenAddress\n * maker [string]: returns orders where maker is maker address\n * taker [string]: returns orders where taker is taker address\n * trader [string]: returns orders where maker or taker is trader address\n * feeRecipient [string]: returns orders where feeRecipient is feeRecipient address\n\nAll parameters are optional." }, "response": [] }, { "name": "exchangeContract param", "event": [ { "listen": "test", "script": { "id": "bd42f688-23d2-4a9c-941c-d5bf34f85519", "type": "text/javascript", "exec": [""] } } ], "request": { "method": "GET", "header": [], "body": {}, "url": { "raw": "{{url}}/v0/orders", "host": ["{{url}}"], "path": ["v0", "orders"] }, "description": "Retrieves a list of orders given query parameters. For querying an entire orderbook snapshot, the orderbook endpoint is recommended.\n\nParameters\n * exchangeContractAddress [string]: returns orders created for this exchange address\n * tokenAddress [string]: returns orders where makerTokenAddress or takerTokenAddress is token address\n * makerTokenAddress [string]: returns orders with specified makerTokenAddress\n * takerTokenAddress [string]: returns orders with specified makerTokenAddress\n * maker [string]: returns orders where maker is maker address\n * taker [string]: returns orders where taker is taker address\n * trader [string]: returns orders where maker or taker is trader address\n * feeRecipient [string]: returns orders where feeRecipient is feeRecipient address\n\nAll parameters are optional." }, "response": [] }, { "name": "tokenAddress param", "event": [ { "listen": "test", "script": { "id": "bd42f688-23d2-4a9c-941c-d5bf34f85519", "type": "text/javascript", "exec": [""] } } ], "request": { "method": "GET", "header": [], "body": {}, "url": { "raw": "{{url}}/v0/orders", "host": ["{{url}}"], "path": ["v0", "orders"] }, "description": "Retrieves a list of orders given query parameters. For querying an entire orderbook snapshot, the orderbook endpoint is recommended.\n\nParameters\n * exchangeContractAddress [string]: returns orders created for this exchange address\n * tokenAddress [string]: returns orders where makerTokenAddress or takerTokenAddress is token address\n * makerTokenAddress [string]: returns orders with specified makerTokenAddress\n * takerTokenAddress [string]: returns orders with specified makerTokenAddress\n * maker [string]: returns orders where maker is maker address\n * taker [string]: returns orders where taker is taker address\n * trader [string]: returns orders where maker or taker is trader address\n * feeRecipient [string]: returns orders where feeRecipient is feeRecipient address\n\nAll parameters are optional." }, "response": [] }, { "name": "makerTokenAddress param", "event": [ { "listen": "test", "script": { "id": "bd42f688-23d2-4a9c-941c-d5bf34f85519", "type": "text/javascript", "exec": [""] } } ], "request": { "method": "GET", "header": [], "body": {}, "url": { "raw": "{{url}}/v0/orders", "host": ["{{url}}"], "path": ["v0", "orders"] }, "description": "Retrieves a list of orders given query parameters. For querying an entire orderbook snapshot, the orderbook endpoint is recommended.\n\nParameters\n * exchangeContractAddress [string]: returns orders created for this exchange address\n * tokenAddress [string]: returns orders where makerTokenAddress or takerTokenAddress is token address\n * makerTokenAddress [string]: returns orders with specified makerTokenAddress\n * takerTokenAddress [string]: returns orders with specified makerTokenAddress\n * maker [string]: returns orders where maker is maker address\n * taker [string]: returns orders where taker is taker address\n * trader [string]: returns orders where maker or taker is trader address\n * feeRecipient [string]: returns orders where feeRecipient is feeRecipient address\n\nAll parameters are optional." }, "response": [] }, { "name": "takerTokenAddress param", "event": [ { "listen": "test", "script": { "id": "bd42f688-23d2-4a9c-941c-d5bf34f85519", "type": "text/javascript", "exec": [""] } } ], "request": { "method": "GET", "header": [], "body": {}, "url": { "raw": "{{url}}/v0/orders", "host": ["{{url}}"], "path": ["v0", "orders"] }, "description": "Retrieves a list of orders given query parameters. For querying an entire orderbook snapshot, the orderbook endpoint is recommended.\n\nParameters\n * exchangeContractAddress [string]: returns orders created for this exchange address\n * tokenAddress [string]: returns orders where makerTokenAddress or takerTokenAddress is token address\n * makerTokenAddress [string]: returns orders with specified makerTokenAddress\n * takerTokenAddress [string]: returns orders with specified makerTokenAddress\n * maker [string]: returns orders where maker is maker address\n * taker [string]: returns orders where taker is taker address\n * trader [string]: returns orders where maker or taker is trader address\n * feeRecipient [string]: returns orders where feeRecipient is feeRecipient address\n\nAll parameters are optional." }, "response": [] }, { "name": "maker param", "event": [ { "listen": "test", "script": { "id": "bd42f688-23d2-4a9c-941c-d5bf34f85519", "type": "text/javascript", "exec": [""] } } ], "request": { "method": "GET", "header": [], "body": {}, "url": { "raw": "{{url}}/v0/orders", "host": ["{{url}}"], "path": ["v0", "orders"] }, "description": "Retrieves a list of orders given query parameters. For querying an entire orderbook snapshot, the orderbook endpoint is recommended.\n\nParameters\n * exchangeContractAddress [string]: returns orders created for this exchange address\n * tokenAddress [string]: returns orders where makerTokenAddress or takerTokenAddress is token address\n * makerTokenAddress [string]: returns orders with specified makerTokenAddress\n * takerTokenAddress [string]: returns orders with specified makerTokenAddress\n * maker [string]: returns orders where maker is maker address\n * taker [string]: returns orders where taker is taker address\n * trader [string]: returns orders where maker or taker is trader address\n * feeRecipient [string]: returns orders where feeRecipient is feeRecipient address\n\nAll parameters are optional." }, "response": [] }, { "name": "taker param", "event": [ { "listen": "test", "script": { "id": "bd42f688-23d2-4a9c-941c-d5bf34f85519", "type": "text/javascript", "exec": [""] } } ], "request": { "method": "GET", "header": [], "body": {}, "url": { "raw": "{{url}}/v0/orders", "host": ["{{url}}"], "path": ["v0", "orders"] }, "description": "Retrieves a list of orders given query parameters. For querying an entire orderbook snapshot, the orderbook endpoint is recommended.\n\nParameters\n * exchangeContractAddress [string]: returns orders created for this exchange address\n * tokenAddress [string]: returns orders where makerTokenAddress or takerTokenAddress is token address\n * makerTokenAddress [string]: returns orders with specified makerTokenAddress\n * takerTokenAddress [string]: returns orders with specified makerTokenAddress\n * maker [string]: returns orders where maker is maker address\n * taker [string]: returns orders where taker is taker address\n * trader [string]: returns orders where maker or taker is trader address\n * feeRecipient [string]: returns orders where feeRecipient is feeRecipient address\n\nAll parameters are optional." }, "response": [] }, { "name": "trader param", "event": [ { "listen": "test", "script": { "id": "bd42f688-23d2-4a9c-941c-d5bf34f85519", "type": "text/javascript", "exec": [""] } } ], "request": { "method": "GET", "header": [], "body": {}, "url": { "raw": "{{url}}/v0/orders", "host": ["{{url}}"], "path": ["v0", "orders"] }, "description": "Retrieves a list of orders given query parameters. For querying an entire orderbook snapshot, the orderbook endpoint is recommended.\n\nParameters\n * exchangeContractAddress [string]: returns orders created for this exchange address\n * tokenAddress [string]: returns orders where makerTokenAddress or takerTokenAddress is token address\n * makerTokenAddress [string]: returns orders with specified makerTokenAddress\n * takerTokenAddress [string]: returns orders with specified makerTokenAddress\n * maker [string]: returns orders where maker is maker address\n * taker [string]: returns orders where taker is taker address\n * trader [string]: returns orders where maker or taker is trader address\n * feeRecipient [string]: returns orders where feeRecipient is feeRecipient address\n\nAll parameters are optional." }, "response": [] }, { "name": "feeRecipient param", "event": [ { "listen": "test", "script": { "id": "bd42f688-23d2-4a9c-941c-d5bf34f85519", "type": "text/javascript", "exec": [""] } } ], "request": { "method": "GET", "header": [], "body": {}, "url": { "raw": "{{url}}/v0/orders", "host": ["{{url}}"], "path": ["v0", "orders"] }, "description": "Retrieves a list of orders given query parameters. For querying an entire orderbook snapshot, the orderbook endpoint is recommended.\n\nParameters\n * exchangeContractAddress [string]: returns orders created for this exchange address\n * tokenAddress [string]: returns orders where makerTokenAddress or takerTokenAddress is token address\n * makerTokenAddress [string]: returns orders with specified makerTokenAddress\n * takerTokenAddress [string]: returns orders with specified makerTokenAddress\n * maker [string]: returns orders where maker is maker address\n * taker [string]: returns orders where taker is taker address\n * trader [string]: returns orders where maker or taker is trader address\n * feeRecipient [string]: returns orders where feeRecipient is feeRecipient address\n\nAll parameters are optional." }, "response": [] }, { "name": "makerTokenAddress and takerTokenAddress params", "event": [ { "listen": "test", "script": { "id": "bd42f688-23d2-4a9c-941c-d5bf34f85519", "type": "text/javascript", "exec": [""] } } ], "request": { "method": "GET", "header": [], "body": {}, "url": { "raw": "{{url}}/v0/orders", "host": ["{{url}}"], "path": ["v0", "orders"] }, "description": "Retrieves a list of orders given query parameters. For querying an entire orderbook snapshot, the orderbook endpoint is recommended.\n\nParameters\n * exchangeContractAddress [string]: returns orders created for this exchange address\n * tokenAddress [string]: returns orders where makerTokenAddress or takerTokenAddress is token address\n * makerTokenAddress [string]: returns orders with specified makerTokenAddress\n * takerTokenAddress [string]: returns orders with specified makerTokenAddress\n * maker [string]: returns orders where maker is maker address\n * taker [string]: returns orders where taker is taker address\n * trader [string]: returns orders where maker or taker is trader address\n * feeRecipient [string]: returns orders where feeRecipient is feeRecipient address\n\nAll parameters are optional." }, "response": [] } ], "event": [ { "listen": "prerequest", "script": { "id": "4eafcc26-fb01-4182-b963-67a0b418fcbc", "type": "text/javascript", "exec": [""] } }, { "listen": "test", "script": { "id": "d28effd1-4a73-4ee8-82cc-21b1ab06928d", "type": "text/javascript", "exec": [ "const schema = tv4.getSchema('/signedOrdersSchema');", "const responseJsonData = pm.response.json();", "", "pm.test('Schema is valid', function() {", " pm.expect(tv4.validate(responseJsonData, schema)).to.be.true;", "});", "" ] } } ] }, { "name": "GET /order", "description": "", "item": [ { "name": "orderHash param", "request": { "method": "GET", "header": [], "body": {}, "url": { "raw": "{{url}}/v0/order/{{_orderHash}}", "host": ["{{url}}"], "path": ["v0", "order", "{{_orderHash}}"] }, "description": "Retrieves a specific order by orderHash." }, "response": [] } ], "event": [ { "listen": "prerequest", "script": { "id": "e356d2ff-d105-42c1-b679-d9d917dcd68d", "type": "text/javascript", "exec": [""] } }, { "listen": "test", "script": { "id": "8d2d4717-6f76-47ab-8e5a-f383192f6ee4", "type": "text/javascript", "exec": [ "const schema = tv4.getSchema('/SignedOrder');", "const responseJsonData = pm.response.json();", "", "pm.test('Schema is valid', function() {", " pm.expect(tv4.validate(responseJsonData, schema)).to.be.true;", "});", "" ] } } ] }, { "name": "GET /orderbook", "description": "", "item": [ { "name": "baseTokenAddress and quoteTokenAddress params", "event": [ { "listen": "test", "script": { "id": "1a0acd0e-5e4a-4e08-b4e9-291a4e9c433a", "type": "text/javascript", "exec": [""] } } ], "request": { "method": "GET", "header": [], "body": {}, "url": { "raw": "{{url}}/v0/orderbook?baseTokenAddress={{ZRX_address}}"eTokenAddress={{WETH_address}}", "host": ["{{url}}"], "path": ["v0", "orderbook"], "query": [ { "key": "baseTokenAddress", "value": "{{ZRX_address}}", "equals": true }, { "key": "quoteTokenAddress", "value": "{{WETH_address}}", "equals": true } ] }, "description": "Retrieves a list of orders given query parameters. For querying an entire orderbook snapshot, the orderbook endpoint is recommended.\n\nParameters\n * exchangeContractAddress [string]: returns orders created for this exchange address\n * tokenAddress [string]: returns orders where makerTokenAddress or takerTokenAddress is token address\n * makerTokenAddress [string]: returns orders with specified makerTokenAddress\n * takerTokenAddress [string]: returns orders with specified makerTokenAddress\n * maker [string]: returns orders where maker is maker address\n * taker [string]: returns orders where taker is taker address\n * trader [string]: returns orders where maker or taker is trader address\n * feeRecipient [string]: returns orders where feeRecipient is feeRecipient address\n\nAll parameters are optional." }, "response": [] } ], "event": [ { "listen": "prerequest", "script": { "id": "bdf90dbc-9217-4089-8bc0-351baadddd3e", "type": "text/javascript", "exec": [""] } }, { "listen": "test", "script": { "id": "d5080a34-57c4-4d5d-8e01-5e79599282ec", "type": "text/javascript", "exec": [ "const schema = tv4.getSchema('/RelayerApiOrderBookResponse');", "const responseJsonData = pm.response.json();", "", "pm.test('Schema is valid', function() {", " pm.expect(tv4.validate(responseJsonData, schema)).to.be.true;", "});", "" ] } } ] }, { "name": "POST /fees", "description": "", "item": [ { "name": "default request", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"exchangeContractAddress\": \"0x12459c951127e0c374ff9105dda097662a027093\",\n \"maker\": \"0x9e56625509c2f60af937f23b7b532600390e8c8b\",\n \"taker\": \"0x0000000000000000000000000000000000000000\",\n \"makerTokenAddress\": \"0x323b5d4c32345ced77393b3530b1eed0f346429d\",\n \"takerTokenAddress\": \"0xef7fff64389b814a946f3e92105513705ca6b990\",\n \"makerTokenAmount\": \"10000000000000000\",\n \"takerTokenAmount\": \"20000000000000000\",\n \"expirationUnixTimestampSec\": \"42\",\n \"salt\": \"67006738228878699843088602623665307406148487219438534730168799356281242528500\"\n}" }, "url": { "raw": "{{url}}/v0/fees", "host": ["{{url}}"], "path": ["v0", "fees"] }, "description": "Given an unsigned order without the fee-related properties, returns the required feeRecipient, makerFee, and takerFee of that order." }, "response": [] } ], "event": [ { "listen": "prerequest", "script": { "id": "75d66506-0fa9-4b0e-982b-ef53bf3310f8", "type": "text/javascript", "exec": [""] } }, { "listen": "test", "script": { "id": "4c5f9f7b-8635-4bdb-9240-a74754a2de4f", "type": "text/javascript", "exec": [ "const schema = tv4.getSchema('/RelayerApiFeesResponse');", "const responseJsonData = pm.response.json();", "", "pm.test('Schema is valid', function() {", " pm.expect(tv4.validate(responseJsonData, schema)).to.be.true;", "});", "" ] } } ] } ], "event": [ { "listen": "prerequest", "script": { "id": "da60f639-df79-4f4d-9861-79219f5fc341", "type": "text/javascript", "exec": [ "const schemaKeysString = pm.globals.get('schemaKeys');", "const schemaKeys = JSON.parse(schemaKeysString);", "", "_.forEach(schemaKeys, function(schemaKey) {", " const schemaString = pm.globals.get(schemaKey);", " const schema = JSON.parse(schemaString);", " tv4.addSchema(schema);", "});", "" ] } }, { "listen": "test", "script": { "id": "b4917e72-ac87-421d-b7a5-21b64285ba5b", "type": "text/javascript", "exec": [""] } } ] }