# Cross Chain

## Available currencies

> Returns a list of available currencies for Cross-Chain exchanges.

```json
{"openapi":"3.0.0","info":{"title":"Baltex Partner API","version":"1.0.0"},"servers":[{"url":"https://api.baltex.io"}],"security":[{"Partner access key":[]}],"components":{"securitySchemes":{"Partner access key":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"Currency":{"type":"object","properties":{"ticker":{"type":"string","description":"Currency ticker (e.g., btc)"},"network":{"type":"string","description":"Network ticker (e.g., btc, eth)"},"symbol":{"type":"string","description":"Symbol representing the currency"},"name":{"type":"string","description":"Full name of the currency"},"hasMemo":{"type":"boolean","description":"Indicates whether this currency supports memo/extraId"},"requireMemo":{"type":"boolean","description":"Indicates whether memo/extraId is required to complete transactions"},"isFiat":{"type":"boolean","description":"Shows if the currency is fiat (e.g., USD)"},"isStable":{"type":"boolean","description":"Indicates if the currency is a stablecoin"},"supportsFixedRate":{"type":"boolean","description":"True if fixed-rate exchanges are supported"},"enabled":{"type":"boolean","description":"Indicates if currency is currently available for use"},"image":{"type":"string","description":"URL to the currency icon"},"regexAddress":{"type":"string","description":"Regular expression pattern for validating recipient addresses"},"addressExplorer":{"type":"string","description":"Block explorer URL template for addresses (use {} as placeholder)"},"txExplorer":{"type":"string","description":"Block explorer URL template for transactions (use {} as placeholder)"},"confirmations":{"type":"integer","description":"Number of required confirmations for incoming transactions"},"rank":{"type":"integer","description":"Currency ranking priority (use for sorting in UI)"}}}},"responses":{"UnauthorizedError":{"description":"Unauthorized — missing or invalid API key","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"error":{"type":"string"},"statusCode":{"type":"integer"}}}}}}}},"paths":{"/v1/cross-chain/available-currencies":{"get":{"description":"Returns a list of available currencies for Cross-Chain exchanges.","operationId":"CexController_getAvailableCurrenciesList_v1","parameters":[],"responses":{"200":{"description":"List of available currencies for cross-chain exchanges","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Currency"}}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}},"summary":"Available currencies","tags":["Cross-Chain"]}}}}
```

## Exchange rate

> Returns an exchange rate quote for the specified currencies and networks.

```json
{"openapi":"3.0.0","info":{"title":"Baltex Partner API","version":"1.0.0"},"servers":[{"url":"https://api.baltex.io"}],"security":[{"Partner access key":[]}],"components":{"securitySchemes":{"Partner access key":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"ExchangeRate":{"type":"object","properties":{"min":{"type":"number","description":"Minimum allowed amount for the exchange"},"max":{"type":"number","nullable":true,"description":"Maximum allowed amount for the exchange (null means no limit)"},"fromAmount":{"type":"number","description":"Requested amount to exchange"},"toAmount":{"type":"number","description":"Estimated amount to receive"},"fromCurrency":{"type":"string","description":"Ticker of the source currency"},"toCurrency":{"type":"string","description":"Ticker of the target currency"},"fromNetwork":{"type":"string","description":"Source network"},"toNetwork":{"type":"string","description":"Target network"},"amountFromUsd":{"type":"string","description":"Amount in USD equivalent (source)"},"amountToUsd":{"type":"string","description":"Amount in USD equivalent (target)"}}}},"responses":{"UnauthorizedError":{"description":"Unauthorized — missing or invalid API key","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"error":{"type":"string"},"statusCode":{"type":"integer"}}}}}}}},"paths":{"/v1/cross-chain/rate":{"get":{"description":"Returns an exchange rate quote for the specified currencies and networks.","operationId":"CexController_getRate_v1","parameters":[{"name":"fromCurrency","required":true,"in":"query","description":"Source currency ticker","schema":{"type":"string"}},{"name":"fromNetwork","required":true,"in":"query","description":"Source network","schema":{"type":"string"}},{"name":"toCurrency","required":true,"in":"query","description":"Target currency ticker","schema":{"type":"string"}},{"name":"toNetwork","required":true,"in":"query","description":"Target network","schema":{"type":"string"}},{"name":"amount","required":false,"in":"query","description":"Amount to exchange (default: 1)","schema":{"type":"string"}},{"name":"flow","required":false,"in":"query","description":"Exchange flow type (standard, fixed-rate)","schema":{"enum":["standard","fixed-rate"],"type":"string"}}],"responses":{"200":{"description":"Successful response with exchange rate data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeRate"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}},"summary":"Exchange rate","tags":["Cross-Chain"]}}}}
```

## Private exchange rate

> Returns a private exchange rate for the specified currencies and networks.

```json
{"openapi":"3.0.0","info":{"title":"Baltex Partner API","version":"1.0.0"},"servers":[{"url":"https://api.baltex.io"}],"security":[{"Partner access key":[]}],"components":{"securitySchemes":{"Partner access key":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"ExchangeRate":{"type":"object","properties":{"min":{"type":"number","description":"Minimum allowed amount for the exchange"},"max":{"type":"number","nullable":true,"description":"Maximum allowed amount for the exchange (null means no limit)"},"fromAmount":{"type":"number","description":"Requested amount to exchange"},"toAmount":{"type":"number","description":"Estimated amount to receive"},"fromCurrency":{"type":"string","description":"Ticker of the source currency"},"toCurrency":{"type":"string","description":"Ticker of the target currency"},"fromNetwork":{"type":"string","description":"Source network"},"toNetwork":{"type":"string","description":"Target network"},"amountFromUsd":{"type":"string","description":"Amount in USD equivalent (source)"},"amountToUsd":{"type":"string","description":"Amount in USD equivalent (target)"}}}},"responses":{"UnauthorizedError":{"description":"Unauthorized — missing or invalid API key","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"error":{"type":"string"},"statusCode":{"type":"integer"}}}}}}}},"paths":{"/v1/cross-chain/rate/private":{"get":{"description":"Returns a private exchange rate for the specified currencies and networks.","operationId":"CexController_getPrivateRate_v1","parameters":[{"name":"fromCurrency","required":true,"in":"query","description":"Source currency ticker","schema":{"type":"string"}},{"name":"fromNetwork","required":true,"in":"query","description":"Source network","schema":{"type":"string"}},{"name":"toCurrency","required":true,"in":"query","description":"Target currency ticker","schema":{"type":"string"}},{"name":"toNetwork","required":true,"in":"query","description":"Target network","schema":{"type":"string"}},{"name":"amount","required":false,"in":"query","description":"Amount to exchange (default: 1)","schema":{"type":"string"}},{"name":"privateType","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response with private exchange rate data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeRate"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}},"summary":"Private exchange rate","tags":["Cross-Chain"]}}}}
```

## Exchange status

> Returns the status of any type of exchange by its ID.

```json
{"openapi":"3.0.0","info":{"title":"Baltex Partner API","version":"1.0.0"},"servers":[{"url":"https://api.baltex.io"}],"security":[{"Partner access key":[]}],"components":{"securitySchemes":{"Partner access key":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"ExchangeStatusWrapper":{"type":"object","properties":{"type":{"type":"string","enum":["standard","private"],"description":"Type of the exchange"},"exchange":{"oneOf":[{"$ref":"#/components/schemas/StandardExchangeStatus"},{"$ref":"#/components/schemas/PrivateExchangeStatus"}]}}},"StandardExchangeStatus":{"type":"object","properties":{"id":{"type":"string","description":"Unique exchange identifier"},"created":{"type":"string","format":"date-time","description":"Exchange creation timestamp"},"exchangeType":{"type":"string","enum":["standard"],"description":"Type of exchange"},"status":{"type":"string","enum":["pending","confirming","exchanging","sending","finished","failed","refunded"],"description":"Current exchange status"},"request":{"$ref":"#/components/schemas/ExchangeRequest"},"exchanges":{"type":"array","items":{"$ref":"#/components/schemas/ExchangeDetails"},"description":"Array of exchange operations"}}},"ExchangeRequest":{"type":"object","properties":{"fromCurrency":{"type":"string","description":"Source currency ticker"},"fromNetwork":{"type":"string","description":"Source network"},"toCurrency":{"type":"string","description":"Target currency ticker"},"toNetwork":{"type":"string","description":"Target network"},"amountFromRequested":{"type":"string","description":"Requested amount to send"},"amountToRequested":{"type":"string","description":"Expected amount to receive"},"depositAddress":{"type":"string","description":"Address where user should send funds"},"recipientAddress":{"type":"string","description":"Address where user will receive funds"},"depositMemo":{"type":"string","nullable":true,"description":"Memo for deposit (if required)"},"recipientMemo":{"type":"string","nullable":true,"description":"Memo for recipient (if required)"},"refundAddress":{"type":"string","nullable":true,"description":"Address for refunds"},"refundMemo":{"type":"string","nullable":true,"description":"Memo for refund address"},"flow":{"type":"string","enum":["standard","fixed-rate"],"description":"Exchange flow type"}}},"ExchangeDetails":{"type":"object","properties":{"amountFromReceived":{"type":"string","nullable":true,"description":"Actual amount received from user"},"amountToReceived":{"type":"string","nullable":true,"description":"Actual amount sent to recipient"},"status":{"type":"string","enum":["pending","confirming","exchanging","sending","finished","failed","refunded"],"description":"Current status of the exchange"},"payinHash":{"type":"string","nullable":true,"description":"Transaction hash of incoming payment"},"payoutHash":{"type":"string","nullable":true,"description":"Transaction hash of outgoing payment"},"created":{"type":"string","format":"date-time","description":"Timestamp when exchange was created"}}},"PrivateExchangeStatus":{"type":"object","properties":{"id":{"type":"string","description":"Unique exchange identifier"},"created":{"type":"string","format":"date-time","description":"Exchange creation timestamp"},"exchangeType":{"type":"string","enum":["private"],"description":"Type of exchange"},"status":{"type":"string","enum":["pending","confirming","exchanging","sending","finished","failed","refunded"],"description":"Current exchange status"},"request":{"$ref":"#/components/schemas/ExchangeRequest"},"exchanges":{"type":"array","items":{"$ref":"#/components/schemas/ExchangeDetails"},"description":"Array of exchange operations"}}}},"responses":{"UnauthorizedError":{"description":"Unauthorized — missing or invalid API key","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"error":{"type":"string"},"statusCode":{"type":"integer"}}}}}}}},"paths":{"/v1/cross-chain/exchange/status":{"get":{"description":"Returns the status of any type of exchange by its ID.","operationId":"CexController_getExchangeStatus_v1","parameters":[{"name":"id","required":true,"in":"query","description":"Exchange ID","schema":{"type":"string"}}],"responses":{"200":{"description":"Exchange status information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeStatusWrapper"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}},"summary":"Exchange status","tags":["Cross-Chain"]}}}}
```

## List of exchanges

> Returns all exchanges for partner from the last 24 hours with optional filters.

```json
{"openapi":"3.0.0","info":{"title":"Baltex Partner API","version":"1.0.0"},"servers":[{"url":"https://api.baltex.io"}],"security":[{"Partner access key":[]}],"components":{"securitySchemes":{"Partner access key":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"ExchangeList":{"type":"object","properties":{"total":{"type":"integer","description":"Total number of exchanges"},"data":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/StandardExchangeStatus"},{"$ref":"#/components/schemas/PrivateExchangeStatus"}]},"description":"Array of exchange records"}}},"StandardExchangeStatus":{"type":"object","properties":{"id":{"type":"string","description":"Unique exchange identifier"},"created":{"type":"string","format":"date-time","description":"Exchange creation timestamp"},"exchangeType":{"type":"string","enum":["standard"],"description":"Type of exchange"},"status":{"type":"string","enum":["pending","confirming","exchanging","sending","finished","failed","refunded"],"description":"Current exchange status"},"request":{"$ref":"#/components/schemas/ExchangeRequest"},"exchanges":{"type":"array","items":{"$ref":"#/components/schemas/ExchangeDetails"},"description":"Array of exchange operations"}}},"ExchangeRequest":{"type":"object","properties":{"fromCurrency":{"type":"string","description":"Source currency ticker"},"fromNetwork":{"type":"string","description":"Source network"},"toCurrency":{"type":"string","description":"Target currency ticker"},"toNetwork":{"type":"string","description":"Target network"},"amountFromRequested":{"type":"string","description":"Requested amount to send"},"amountToRequested":{"type":"string","description":"Expected amount to receive"},"depositAddress":{"type":"string","description":"Address where user should send funds"},"recipientAddress":{"type":"string","description":"Address where user will receive funds"},"depositMemo":{"type":"string","nullable":true,"description":"Memo for deposit (if required)"},"recipientMemo":{"type":"string","nullable":true,"description":"Memo for recipient (if required)"},"refundAddress":{"type":"string","nullable":true,"description":"Address for refunds"},"refundMemo":{"type":"string","nullable":true,"description":"Memo for refund address"},"flow":{"type":"string","enum":["standard","fixed-rate"],"description":"Exchange flow type"}}},"ExchangeDetails":{"type":"object","properties":{"amountFromReceived":{"type":"string","nullable":true,"description":"Actual amount received from user"},"amountToReceived":{"type":"string","nullable":true,"description":"Actual amount sent to recipient"},"status":{"type":"string","enum":["pending","confirming","exchanging","sending","finished","failed","refunded"],"description":"Current status of the exchange"},"payinHash":{"type":"string","nullable":true,"description":"Transaction hash of incoming payment"},"payoutHash":{"type":"string","nullable":true,"description":"Transaction hash of outgoing payment"},"created":{"type":"string","format":"date-time","description":"Timestamp when exchange was created"}}},"PrivateExchangeStatus":{"type":"object","properties":{"id":{"type":"string","description":"Unique exchange identifier"},"created":{"type":"string","format":"date-time","description":"Exchange creation timestamp"},"exchangeType":{"type":"string","enum":["private"],"description":"Type of exchange"},"status":{"type":"string","enum":["pending","confirming","exchanging","sending","finished","failed","refunded"],"description":"Current exchange status"},"request":{"$ref":"#/components/schemas/ExchangeRequest"},"exchanges":{"type":"array","items":{"$ref":"#/components/schemas/ExchangeDetails"},"description":"Array of exchange operations"}}}},"responses":{"UnauthorizedError":{"description":"Unauthorized — missing or invalid API key","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"error":{"type":"string"},"statusCode":{"type":"integer"}}}}}}}},"paths":{"/v1/cross-chain/exchange/list":{"get":{"description":"Returns all exchanges for partner from the last 24 hours with optional filters.","operationId":"CexController_getPartnerExchanges_v1","parameters":[{"name":"status","required":false,"in":"query","description":"Filter by exchange status","schema":{"enum":["pending","confirming","exchanging","sending","finished","failed","refunded"],"type":"string"}},{"name":"fromCurrency","required":false,"in":"query","description":"Filter by source currency ticker","schema":{"type":"string"}},{"name":"fromNetwork","required":false,"in":"query","description":"Filter by source network","schema":{"type":"string"}},{"name":"toCurrency","required":false,"in":"query","description":"Filter by target currency ticker","schema":{"type":"string"}},{"name":"toNetwork","required":false,"in":"query","description":"Filter by target network","schema":{"type":"string"}},{"name":"exchangeType","required":false,"in":"query","description":"Filter by exchange type","schema":{"enum":["standard","private"],"type":"string"}}],"responses":{"200":{"description":"List of exchanges","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeList"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}},"summary":"List of exchanges","tags":["Cross-Chain"]}}}}
```

## Standard exchange status

> Returns the status of a standard exchange by its ID.

```json
{"openapi":"3.0.0","info":{"title":"Baltex Partner API","version":"1.0.0"},"servers":[{"url":"https://api.baltex.io"}],"security":[{"Partner access key":[]}],"components":{"securitySchemes":{"Partner access key":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"StandardExchangeStatus":{"type":"object","properties":{"id":{"type":"string","description":"Unique exchange identifier"},"created":{"type":"string","format":"date-time","description":"Exchange creation timestamp"},"exchangeType":{"type":"string","enum":["standard"],"description":"Type of exchange"},"status":{"type":"string","enum":["pending","confirming","exchanging","sending","finished","failed","refunded"],"description":"Current exchange status"},"request":{"$ref":"#/components/schemas/ExchangeRequest"},"exchanges":{"type":"array","items":{"$ref":"#/components/schemas/ExchangeDetails"},"description":"Array of exchange operations"}}},"ExchangeRequest":{"type":"object","properties":{"fromCurrency":{"type":"string","description":"Source currency ticker"},"fromNetwork":{"type":"string","description":"Source network"},"toCurrency":{"type":"string","description":"Target currency ticker"},"toNetwork":{"type":"string","description":"Target network"},"amountFromRequested":{"type":"string","description":"Requested amount to send"},"amountToRequested":{"type":"string","description":"Expected amount to receive"},"depositAddress":{"type":"string","description":"Address where user should send funds"},"recipientAddress":{"type":"string","description":"Address where user will receive funds"},"depositMemo":{"type":"string","nullable":true,"description":"Memo for deposit (if required)"},"recipientMemo":{"type":"string","nullable":true,"description":"Memo for recipient (if required)"},"refundAddress":{"type":"string","nullable":true,"description":"Address for refunds"},"refundMemo":{"type":"string","nullable":true,"description":"Memo for refund address"},"flow":{"type":"string","enum":["standard","fixed-rate"],"description":"Exchange flow type"}}},"ExchangeDetails":{"type":"object","properties":{"amountFromReceived":{"type":"string","nullable":true,"description":"Actual amount received from user"},"amountToReceived":{"type":"string","nullable":true,"description":"Actual amount sent to recipient"},"status":{"type":"string","enum":["pending","confirming","exchanging","sending","finished","failed","refunded"],"description":"Current status of the exchange"},"payinHash":{"type":"string","nullable":true,"description":"Transaction hash of incoming payment"},"payoutHash":{"type":"string","nullable":true,"description":"Transaction hash of outgoing payment"},"created":{"type":"string","format":"date-time","description":"Timestamp when exchange was created"}}}},"responses":{"UnauthorizedError":{"description":"Unauthorized — missing or invalid API key","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"error":{"type":"string"},"statusCode":{"type":"integer"}}}}}}}},"paths":{"/v1/cross-chain/exchange/status/standard":{"get":{"description":"Returns the status of a standard exchange by its ID.","operationId":"CexController_getStandardExchangeStatus_v1","parameters":[{"name":"id","required":true,"in":"query","description":"Exchange ID","schema":{"type":"string"}}],"responses":{"200":{"description":"Standard exchange status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardExchangeStatus"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}},"summary":"Standard exchange status","tags":["Cross-Chain"]}}}}
```

## Private exchange status

> Returns the status of a private exchange by its ID.

```json
{"openapi":"3.0.0","info":{"title":"Baltex Partner API","version":"1.0.0"},"servers":[{"url":"https://api.baltex.io"}],"security":[{"Partner access key":[]}],"components":{"securitySchemes":{"Partner access key":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"PrivateExchangeStatus":{"type":"object","properties":{"id":{"type":"string","description":"Unique exchange identifier"},"created":{"type":"string","format":"date-time","description":"Exchange creation timestamp"},"exchangeType":{"type":"string","enum":["private"],"description":"Type of exchange"},"status":{"type":"string","enum":["pending","confirming","exchanging","sending","finished","failed","refunded"],"description":"Current exchange status"},"request":{"$ref":"#/components/schemas/ExchangeRequest"},"exchanges":{"type":"array","items":{"$ref":"#/components/schemas/ExchangeDetails"},"description":"Array of exchange operations"}}},"ExchangeRequest":{"type":"object","properties":{"fromCurrency":{"type":"string","description":"Source currency ticker"},"fromNetwork":{"type":"string","description":"Source network"},"toCurrency":{"type":"string","description":"Target currency ticker"},"toNetwork":{"type":"string","description":"Target network"},"amountFromRequested":{"type":"string","description":"Requested amount to send"},"amountToRequested":{"type":"string","description":"Expected amount to receive"},"depositAddress":{"type":"string","description":"Address where user should send funds"},"recipientAddress":{"type":"string","description":"Address where user will receive funds"},"depositMemo":{"type":"string","nullable":true,"description":"Memo for deposit (if required)"},"recipientMemo":{"type":"string","nullable":true,"description":"Memo for recipient (if required)"},"refundAddress":{"type":"string","nullable":true,"description":"Address for refunds"},"refundMemo":{"type":"string","nullable":true,"description":"Memo for refund address"},"flow":{"type":"string","enum":["standard","fixed-rate"],"description":"Exchange flow type"}}},"ExchangeDetails":{"type":"object","properties":{"amountFromReceived":{"type":"string","nullable":true,"description":"Actual amount received from user"},"amountToReceived":{"type":"string","nullable":true,"description":"Actual amount sent to recipient"},"status":{"type":"string","enum":["pending","confirming","exchanging","sending","finished","failed","refunded"],"description":"Current status of the exchange"},"payinHash":{"type":"string","nullable":true,"description":"Transaction hash of incoming payment"},"payoutHash":{"type":"string","nullable":true,"description":"Transaction hash of outgoing payment"},"created":{"type":"string","format":"date-time","description":"Timestamp when exchange was created"}}}},"responses":{"UnauthorizedError":{"description":"Unauthorized — missing or invalid API key","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"error":{"type":"string"},"statusCode":{"type":"integer"}}}}}}}},"paths":{"/v1/cross-chain/exchange/status/private":{"get":{"description":"Returns the status of a private exchange by its ID.","operationId":"CexController_getPrivateExchangeStatus_v1","parameters":[{"name":"id","required":true,"in":"query","description":"Exchange ID","schema":{"type":"string"}}],"responses":{"200":{"description":"Private exchange status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrivateExchangeStatus"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}},"summary":"Private exchange status","tags":["Cross-Chain"]}}}}
```

## Create standard exchange

> Creates a standard exchange.

```json
{"openapi":"3.0.0","info":{"title":"Baltex Partner API","version":"1.0.0"},"servers":[{"url":"https://api.baltex.io"}],"security":[{"Partner access key":[]}],"components":{"securitySchemes":{"Partner access key":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"CreateExchangeRequestDto":{"type":"object","properties":{"fromCurrency":{"type":"string","description":"Source currency ticker"},"toCurrency":{"type":"string","description":"Target currency ticker"},"fromNetwork":{"type":"string","description":"Source network"},"toNetwork":{"type":"string","description":"Target network"},"fromAmount":{"type":"string","description":"Amount to exchange"},"address":{"type":"string","description":"Recipient address"},"memo":{"type":"string","description":"Memo for recipient (if required)"},"refundAddress":{"type":"string","description":"Refund address"},"refundMemo":{"type":"string","description":"Refund memo"},"flow":{"type":"string","enum":["standard","fixed-rate"],"description":"Exchange flow type"},"rateId":{"type":"string","description":"RateId is needed so that you can freeze the estimate from the /rate method for fixed-rate exchange. It is valid for 1 minute from the moment it is received."}},"required":["fromCurrency","toCurrency","fromNetwork","toNetwork","fromAmount","flow"]},"CreateExchangeResponse":{"type":"object","properties":{"id":{"type":"string","description":"Unique exchange identifier"},"status":{"type":"string","enum":["pending"],"description":"Initial exchange status"},"exchangeType":{"type":"string","enum":["standard"],"description":"Type of exchange"},"created":{"type":"string","format":"date-time","description":"Exchange creation timestamp"},"request":{"type":"object","properties":{"fromCurrency":{"type":"string"},"fromNetwork":{"type":"string"},"toCurrency":{"type":"string"},"toNetwork":{"type":"string"},"amountFromRequested":{"type":"string"},"amountToRequested":{"type":"string"},"depositAddress":{"type":"string","description":"Address where user should deposit funds"},"recipientAddress":{"type":"string","description":"Address where user will receive funds"},"flow":{"type":"string"}}},"exchanges":{"type":"array","items":{},"description":"Empty array initially, populated as exchange progresses"}}}},"responses":{"UnauthorizedError":{"description":"Unauthorized — missing or invalid API key","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"error":{"type":"string"},"statusCode":{"type":"integer"}}}}}}}},"paths":{"/v1/cross-chain/exchange":{"post":{"description":"Creates a standard exchange.","operationId":"CexController_createExchange_v1","parameters":[],"requestBody":{"required":true,"description":"Standard exchange data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateExchangeRequestDto"}}}},"responses":{"201":{"description":"Exchange created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateExchangeResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}},"summary":"Create standard exchange","tags":["Cross-Chain"]}}}}
```

## Create private exchange

> Creates a private exchange order.

```json
{"openapi":"3.0.0","info":{"title":"Baltex Partner API","version":"1.0.0"},"servers":[{"url":"https://api.baltex.io"}],"security":[{"Partner access key":[]}],"components":{"securitySchemes":{"Partner access key":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"CreatePrivateExchangeRequestDto":{"type":"object","properties":{"fromCurrency":{"type":"string","description":"Source currency ticker"},"toCurrency":{"type":"string","description":"Target currency ticker"},"fromNetwork":{"type":"string","description":"Source network"},"toNetwork":{"type":"string","description":"Target network"},"fromAmount":{"type":"string","description":"Amount to exchange"},"memo":{"type":"string","description":"Extra ID for recipient (if required)"},"privateType":{"type":"string","description":"There are two types of private exchanges: 'privatePlus' - an intermediary network for XMR only; 'efficient' - the fastest and cheapest intermediary networks."},"address":{"type":"string","description":"Recipient address"},"refundAddress":{"type":"string","description":"Refund address"},"refundMemo":{"type":"string","description":"Extra ID for refund address (if required)"}},"required":["fromCurrency","toCurrency","fromNetwork","toNetwork","fromAmount"]},"CreatePrivateExchangeResponse":{"type":"object","properties":{"id":{"type":"string","description":"Unique exchange identifier"},"created":{"type":"string","format":"date-time","description":"Exchange creation timestamp"},"exchangeType":{"type":"string","enum":["private"],"description":"Type of exchange"},"status":{"type":"string","enum":["pending"],"description":"Initial exchange status"},"request":{"type":"object","properties":{"fromCurrency":{"type":"string"},"fromNetwork":{"type":"string"},"toCurrency":{"type":"string"},"toNetwork":{"type":"string"},"amountFromRequested":{"type":"string"},"amountToRequested":{"type":"string"},"depositAddress":{"type":"string","description":"Address where user should deposit funds"},"recipientAddress":{"type":"string","description":"Address where user will receive funds"},"flow":{"type":"string"}}},"exchanges":{"type":"array","items":{},"description":"Empty array initially, populated as exchange progresses"}}}},"responses":{"UnauthorizedError":{"description":"Unauthorized — missing or invalid API key","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"error":{"type":"string"},"statusCode":{"type":"integer"}}}}}}}},"paths":{"/v1/cross-chain/exchange/private":{"post":{"description":"Creates a private exchange order.","operationId":"CexController_createPrivateExchange_v1","parameters":[],"requestBody":{"required":true,"description":"Private exchange order data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePrivateExchangeRequestDto"}}}},"responses":{"201":{"description":"Private exchange created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePrivateExchangeResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}},"summary":"Create private exchange","tags":["Cross-Chain"]}}}}
```

## Rates

> Returns exchange rates in XML format. This is a publicly accessible endpoint that does not require authentication.

```json
{"openapi":"3.0.0","info":{"title":"Baltex Partner API","version":"1.0.0"},"servers":[{"url":"https://api.baltex.io"}],"paths":{"/v1/rates":{"get":{"description":"Returns exchange rates in XML format. This is a publicly accessible endpoint that does not require authentication.","operationId":"RatesController_getRates_v1","parameters":[],"responses":{"200":{"description":"Exchange rates in XML format"}},"summary":"Rates","tags":["Cross-Chain"]}}}}
```
