{ "swagger": "2.0", "info": { "contact": {} }, "paths": { "/ack": { "put": { "description": "cache an ack request to synchronize relayer actions.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "ack" ], "summary": "Relay ack", "parameters": [ { "description": "query params", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/model.PutRelayerQuoteRequest" } } ], "responses": { "200": { "description": "OK", "headers": { "X-Api-Version": { "type": "string", "description": "API Version Number - See docs for more info" } } } } } }, "/bulk_quotes": { "put": { "description": "upsert bulk quotes from relayer.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "quotes" ], "summary": "Upsert quotes", "parameters": [ { "description": "query params", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/model.PutBulkQuotesRequest" } } ], "responses": { "200": { "description": "OK", "headers": { "X-Api-Version": { "type": "string", "description": "API Version Number - See docs for more info" } } } } } }, "/contracts": { "get": { "description": "get quotes from all relayers.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "quotes" ], "summary": "Get contract addresses", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/model.GetContractsResponse" } }, "headers": { "X-Api-Version": { "type": "string", "description": "API Version Number - See docs for more info" } } } } } }, "/open_quote_requests": { "get": { "description": "Get all open quote requests that are currently in Received or Pending status.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "quotes" ], "summary": "Get open quote requests", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/model.GetOpenQuoteRequestsResponse" } }, "headers": { "X-Api-Version": { "type": "string", "description": "API Version Number - See docs for more info" } } } } } }, "/quotes": { "get": { "description": "get quotes from all relayers.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "quotes" ], "summary": "Get quotes", "parameters": [ { "type": "integer", "description": "origin chain id to filter quotes by", "name": "originChainID", "in": "path" }, { "type": "string", "description": "origin chain id to filter quotes by", "name": "originTokenAddr", "in": "path" }, { "type": "integer", "description": "destination chain id to filter quotes by", "name": "destChainID", "in": "path" }, { "type": "string", "description": "destination token address to filter quotes by", "name": "destTokenAddr", "in": "path" }, { "type": "string", "description": "relayer address to filter quotes by", "name": "relayerAddr", "in": "path" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/model.GetQuoteResponse" } }, "headers": { "X-Api-Version": { "type": "string", "description": "API Version Number - See docs for more info" } } } } }, "put": { "description": "upsert a quote from relayer.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "quotes" ], "summary": "Upsert quote", "parameters": [ { "description": "query params", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/model.PutRelayerQuoteRequest" } } ], "responses": { "200": { "description": "OK", "headers": { "X-Api-Version": { "type": "string", "description": "API Version Number - See docs for more info" } } } } } }, "/rfq": { "put": { "description": "Initiate an Active Request-For-Quote and return the best quote available.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "quotes" ], "summary": "Initiate an Active RFQ", "parameters": [ { "description": "Initiate an Active Request-For-Quote", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/model.PutRFQRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/model.PutRFQResponse" }, "headers": { "X-Api-Version": { "type": "string", "description": "API Version Number - See docs for more info" } } } } } }, "/rfq_stream": { "get": { "description": "Establish a WebSocket connection to listen for streaming active quote requests.", "produces": [ "application/json" ], "tags": [ "quotes" ], "summary": "Listen for Active RFQs", "responses": { "101": { "description": "Switching Protocols", "schema": { "type": "string" }, "headers": { "X-Api-Version": { "type": "string", "description": "API Version Number - See docs for more info" } } } } } } }, "definitions": { "model.GetContractsResponse": { "type": "object", "properties": { "contracts": { "description": "Contracts is a map of chain id to contract address", "type": "object", "additionalProperties": { "type": "string" } } } }, "model.GetOpenQuoteRequestsResponse": { "type": "object", "properties": { "created_at": { "type": "string" }, "dest_chain_id": { "type": "integer" }, "dest_token": { "type": "string" }, "expiration_window": { "type": "integer" }, "origin_amount_exact": { "type": "string" }, "origin_chain_id": { "type": "integer" }, "origin_token": { "type": "string" }, "user_address": { "type": "string" } } }, "model.GetQuoteResponse": { "type": "object", "properties": { "dest_amount": { "description": "DestAmount is the max amount of liquidity which exists for a given destination token, provided in the destination token decimals", "type": "string" }, "dest_chain_id": { "description": "DestChainID is the chain which the relayer is willing to relay to", "type": "integer" }, "dest_fast_bridge_address": { "description": "DestFastBridgeAddress is the address of the fast bridge contract on the destination chain", "type": "string" }, "dest_token_addr": { "description": "DestToken is the token address for which the relayer willing to relay to", "type": "string" }, "fixed_fee": { "description": "FixedFee is the fixed fee for the quote, provided in the destination token terms", "type": "string" }, "max_origin_amount": { "description": "MaxOriginAmount is the maximum amount of origin tokens bridgeable", "type": "string" }, "origin_chain_id": { "description": "OriginChainID is the chain which the relayer is willing to relay from", "type": "integer" }, "origin_fast_bridge_address": { "description": "OriginFastBridgeAddress is the address of the fast bridge contract on the origin chain", "type": "string" }, "origin_token_addr": { "description": "OriginTokenAddr is the token address for which the relayer willing to relay from", "type": "string" }, "relayer_addr": { "description": "Address of the relayer providing the quote", "type": "string" }, "updated_at": { "description": "UpdatedAt is the time that the quote was last upserted", "type": "string" } } }, "model.PutBulkQuotesRequest": { "type": "object", "properties": { "quotes": { "type": "array", "items": { "$ref": "#/definitions/model.PutRelayerQuoteRequest" } } } }, "model.PutRFQRequest": { "type": "object", "properties": { "data": { "$ref": "#/definitions/model.QuoteData" }, "integrator_id": { "type": "string" }, "quote_types": { "type": "array", "items": { "type": "string" } }, "user_address": { "type": "string" } } }, "model.PutRFQResponse": { "type": "object", "properties": { "dest_amount": { "type": "string" }, "quote_id": { "type": "string" }, "quote_type": { "type": "string" }, "reason": { "type": "string" }, "relayer_address": { "type": "string" }, "success": { "type": "boolean" } } }, "model.PutRelayerQuoteRequest": { "type": "object", "properties": { "dest_amount": { "type": "string" }, "dest_chain_id": { "type": "integer" }, "dest_fast_bridge_address": { "type": "string" }, "dest_token_addr": { "type": "string" }, "fixed_fee": { "type": "string" }, "max_origin_amount": { "type": "string" }, "origin_chain_id": { "type": "integer" }, "origin_fast_bridge_address": { "type": "string" }, "origin_token_addr": { "type": "string" } } }, "model.QuoteData": { "type": "object", "properties": { "dest_amount": { "type": "string" }, "dest_chain_id": { "type": "integer" }, "dest_token_addr": { "type": "string" }, "expiration_window": { "type": "integer" }, "origin_amount_exact": { "type": "string" }, "origin_chain_id": { "type": "integer" }, "origin_token_addr": { "type": "string" }, "quote_id": { "type": "string" }, "relayer_address": { "type": "string" } } } } }