DApp Open APIs
Наш существующий dApp на sofa.org является критически важной функцией рабочего процесса и основным способом взаимодействия пользователей с протоколами SOFA. Однако мы призываем других разработчиков предоставить доступ и подключиться к SOFA через свои собственные dApps, чтобы максимизировать рост нашей экосистемы. Мы считаем их нашими партнерами «Брокерами» и призываем заинтересованные стороны связаться с командой SOFA для получения дополнительной информации о API.
DNT
Рекомендуемый список запросов на котировку DNT
GET /rfq/dnt/recommended-list
Параметры ввода
Имя поля | Обязательно | Тип | Описание |
---|---|---|---|
vault | true | string | Информация о контракте |
chainId | true | int | Идентификатор цепочки |
Параметры ответа
Имя поля | Тип | Описание |
---|---|---|
code | int | 0 указывает на то, что результат возвращен нормально |
message | string | Сообщение об ошибке, возвращаемое в случае исключения |
value | list[object] | Как показано ниже |
Объект
Имя поля | Тип | Описание |
---|---|---|
rfqId | number | Идентификатор RFQ |
chainId | int | Идентификатор цепочки |
vault | string | Адрес контракта |
riskType | string | Тип риска: PROTECTED, RISKY |
forCcy | string | Основная валюта |
domCcy | string | Валютная пара |
depositCcy | string | Валюта подписки |
lowerBarrier | number | Нижняя цена |
upperBarrier | number | Верхняя цена |
depositAmount | number | Сумма покупки RFQ |
expiry | number | Временная метка истечения (например, 1672387200) |
timestamp | number | Время срабатывания текущего ценообразования; время начала следующего наблюдения рассчитывается на основе этой логики |
observationStart | number | Оценочное время начала наблюдения для входа/выхода на основе временной метки |
feeRate | object | Ставка торговых и расчетных сборов (необязательно) |
leverageInfo | object | Информация о займе (необязательно) |
relevantDollarPrices | list[object] | Цена токена, необходимая для конвертации цены RCH и расчета аирдропа (необязательно) |
amounts | object | Рассчитанные суммы (необязательно) |
apyInfo | object | Информация о годовой процентной ставке, доступная для продуктов, не относящихся к Surge (необязательно) |
oddsInfo | object | Информация о шансах, доступная для продуктов Surge (необязательно) |
quote | object | |
> anchorPrices | list[string] | 20000000000, 30000000000 |
> makerCollateral | string | Сумма залога производителя |
> totalCollateral | string | Общая сумма залога (Тейкер+Производитель) |
> collateralAtRisk | string | Требуется, когда гарантировано (необязательно) |
> makerBalanceThreshold | string | Порог баланса производителя |
> deadline | number | Временная метка истечения (например, 1672387200) |
> makerWallet | string | Кошелек производителя (необязательно) |
> signature | string | Подпись (необязательно) |
Пример запроса
GET rfq/dnt/recommended-list?vault=xxxxxx&chainId=1
Ответ
{
"code":0,
"message":"",
"value":[
{
"rfqId":1233992,
"riskType":"PROTECTED",
"forCcy":"BTC",
"expiry":1672387200,
"lowerBarrier":18000,
"upperBarrier":24000,
"depositCcy":"BTC",
"depositAmount": 0.05,
"protectedApy":0.01,
"deadline":1672279892,
"recommended":true,
"quote":
{
"rfqId":1233992,
"inRangeApy":0.25,
"tenor":7.9,
"fundingAmount":0.25,
"depositAmount":1,
"premiumCoin":"BTC",
"premiumAmount":0.05,
"bookingQuantity":0.3,
"totalAmount":0.05,
"payoff":0.3,
"deadline":1672279892,
"signature":"dsdkksdsksdk"
}
}
]
}
Запрос DNT
- Заметки:
- Пожалуйста, не передавайте адрес кошелька пользователя в чистом запросе.
- Адрес кошелька пользователя должен передаваться только после подписки.
GET /rfq/dnt/quote
Входные параметры
Название поля | Обязательно | Тип | Описание |
---|---|---|---|
vault | true | string | Информация о контракте |
chainId | true | int | Идентификатор цепи |
expiry | true | number | Временная метка уровня секунды для даты истечения, например, 1672387200 |
lowerBarrier | true | number | Нижняя цена |
upperBarrier | true | number | Верхняя цена |
depositAmount | true | number | Сумма покупки RFQ |
inputApyDefinition | true | string | Основной код - это Enum, указывающий, как рассчитывается входной APY: OptimusDefaultAPY, BinanceDntAPY, AaveLendingAPY |
protectedApy | false | number | Гарантированная годовая доходность (пусто для RISKY, требуется для защищенных) |
fundingApy | false | number | Годовая доходность AAVE (пусто для RISKY, требуется для защищенных) |
takerWallet | false | string | Информация о публичном адресе кошелька запрашивающего |
Параметры ответа
Имя поля | Тип | Описание |
---|---|---|
code | int | 0 указывает на то, что результат возврата нормальный |
message | string | Сообщение об ошибке, возвращаемое в случае исключения |
value | object | Как показано ниже |
Объект
Имя поля | Тип | Описание |
---|---|---|
rfqId | number | ID RFQ |
vault | string | Адрес контракта |
chainId | int | Идентификатор цепи |
riskType | string | Тип риска: ЗАЩИЩЕННЫЙ, РИСКОВЫЙ |
forCcy | string | Основная валюта |
domCcy | string | Валютная пара |
depositCcy | string | Валюта подписки |
lowerBarrier | number | Нижняя цена |
upperBarrier | number | Верхняя цена |
depositAmount | number | Сумма покупки RFQ |
expiry | number | Временная метка истечения (например, 1672387200) |
timestamp | number | Время триггера текущего ценообразования; следующее время начала наблюдения рассчитывается на основе этой логики |
observationStart | number | Оценочное время начала наблюдения для выбивания на основе временной метки |
feeRate | object | ставка торговых и расчетных сборов (необязательно) |
leverageInfo | object | Информация о займе (необязательно) |
relevantDollarPrices | list[object] | Цена токена, необходимая для конверсии цены RCH и расчета аирдропа (необязательно) |
amounts | object | Рассчитанные суммы (необязательно) |
apyInfo | объект | Годовая информация, доступная для продуктов без Surge (по желанию) |
oddsInfo | объект | Информация о шансах, доступная для продуктов Surge (по желанию) |
quote | объект | |
> quoteId | число | |
> anchorPrices | список[string] | 20000000000, 30000000000 |
> makerCollateral | строка | Сумма залога производителя |
> totalCollateral | строка | Общая сумма залога (Taker+Maker) |
> collateralAtRisk | строка | Требуется, когда гарантировано (по желанию) |
> makerBalanceThreshold | строка | Порог баланса производителя |
> deadline | число | Время истечения (например, 1672387200) |
> makerWallet | строка | Кошелек производителя (по желанию) |
> signature | строка | Подпись (по желанию) |
Вероятность выигрыша DNT
Вероятность оставаться в пределах границ до истечения срока
GET rfq/dnt/winning-probabilities
Параметры ввода
Название поля | Обязательно | Тип | Описание |
---|---|---|---|
forCcy | да | строка | Основная валюта |
expiry | да | число | Временная метка второго уровня для даты истечения, например, 1672387200 |
lowerBarrier | да | число | Нижняя цена |
upperBarrier | да | число | Верхняя цена |
Параметры ответа
Название поля | Тип | Описание |
---|---|---|
code | целое число | 0 указывает на то, что результат возврата нормален |
message | строка | Сообщение об ошибке, возвращаемое в случае исключения |
value | список[объект] | Как показано ниже |
Объект
Название поля | Тип | Описание |
---|---|---|
spotPrice | number | Спотовая цена |
timestamp | number | |
probabilities | object | Вероятность выигрыша |
Пример запроса
GET rfq/dnt/winning-probabilities?forCcy=BTC&expiry=xxxx&lowerBarrier=xxx&upperBarrier=xxx
Ответ
{
"code":0,
"message":"",
"value": {
"spotPrice": 62121,
"timestamp": 1727080594,
"probabilities": {
"probDntStayInRange": 0.4,
"probBullTrendItmLowerStrike": null,
"probBullTrendItmUpperStrike": null,
"probBearTrendItmLowerStrike": null,
"probBearTrendItmUpperStrike": null
}
}
}
Умный тренд
Запрос списка рекомендуемых RFQ для умного тренда
GET rfq/smart-trend/recommended-list
Входные параметры
Имя поля | Обязательно | Тип | Описание |
---|---|---|---|
vault | да | строка | Информация о контракте |
chainId | да | целое | ID цепочки |
Параметры ответа
Имя поля | Тип | Описание |
---|---|---|
code | целое | 0 указывает на то, что результат возврата нормален |
message | строка | Сообщение об ошибке, возвращаемое в случае исключения |
value | список[объект] | Как показано ниже |
Объект
Имя поля | Тип | Описание |
---|---|---|
rfqId | число | ID RFQ |
chainId | целое | ID цепочки |
vault | строка | Адрес контракта |
riskType | строка | Тип риска: PROTECTED, RISKY |
direction | строка | BULLISH, BEARISH |
forCcy | строка | Основная валюта |
domCcy | строка | Валютная пара |
depositCcy | строка | Валюта подписки |
lowerBarrier | число | Нижняя цена |
upperBarrier | число | Верхняя цена |
depositAmount | число | Сумма покупки RFQ |
expiry | число | Время истечения (например, 1672387200) |
timestamp | число | Время триггера текущего ценообразования; время начала следующего наблюдения рассчитывается на основе этой логики |
feeRate | объект | ставка торговых и расчетных сборов (необязательно) |
leverageInfo | объект | Информация о займе (необязательно) |
relevantDollarPrices | список[объект] | Цена токена, необходимая для конверсии цены RCH и расчета аирдропа (необязательно) |
amounts | объект | Рассчитанные суммы (необязательно) |
apyInfo | объект | Информация о годовой доходности, доступная для продуктов, не относящихся к Surge (необязательно) |
oddsInfo | объект | Информация о шансах, доступная для продуктов Surge (необязательно) |
quote | объект | |
> anchorPrices | список[строка] | 20000000000, 30000000000 |
> makerCollateral | string | Сумма залога Maker |
> totalCollateral | string | Общая сумма залога (Taker+Maker) |
> collateralAtRisk | string | Обязательно, когда гарантировано (необязательно) |
> makerBalanceThreshold | string | Порог баланса Maker |
> deadline | number | Время истечения (например, 1672387200) |
> makerWallet | string | Кошелек Maker (необязательно) |
> signature | string | Подпись (необязательно) |
Пример запроса
GET rfq/smart-trend/recommended-list?vault=xxxxxx
Запрос Smart Trend
- Примечания:
- Пожалуйста, не передавайте адрес кошелька пользователя в чистом запросе.
- Адрес кошелька пользователя должен передаваться только при подписке.
GET /rfq/smart-trend/quote
Параметры ввода
Имя поля | Обязательно | Тип | Описание |
---|---|---|---|
vault | true | string | Информация о контракте |
chainId | true | int | Идентификатор цепочки |
expiry | true | number | Временная метка в секундах для даты истечения, например, 1672387200 |
lowerBarrier | true | number | Нижняя цена |
upperBarrier | true | number | Верхняя цена |
depositAmount | true | number | Сумма покупки RFQ |
inputApyDefinition | true | string | Основной код - Enum, указывающий, как рассчитывается входной APY: OptimusDefaultAPY, BinanceDntAPY, AaveLendingAPY |
protectedApy | false | number | Гарантированная годовая доходность (пусто для RISKY, обязательно для protected) |
fundingApy | false | number | Годовая доходность AAVE (пусто для RISKY, обязательно для protected) |
takerWallet | false | string | Информация о публичном адресе кошелька запрашивающего |
Параметры ответа
Имя поля | Тип | Описание |
---|---|---|
code | int | 0 указывает на то, что результат возврата нормален |
message | string | Сообщение об ошибке, возвращаемое в случае исключения |
value | object | Как показано ниже |
Объект
Имя поля | Тип | Описание |
---|---|---|
rfqId | number | ID запроса на котировку (RFQ) |
vault | string | Адрес контракта |
chainId | int | ID цепочки |
riskType | string | Тип риска: ЗАЩИЩЕННЫЙ, РИСКОВЫЙ |
direction | string | БЫЧИЙ, МЕДВЕЖИЙ |
forCcy | string | Основная валюта |
domCcy | string | Валютная пара |
depositCcy | string | Валюта подписки |
lowerBarrier | number | Нижняя цена |
upperBarrier | number | Верхняя цена |
depositAmount | number | Сумма покупки по запросу на котировку (RFQ) |
expiry | number | Временная метка истечения (например, 1672387200) |
timestamp | number | Время срабатывания текущего ценообразования; время начала следующего наблюдения рассчитывается на основе этой логики |
feeRate | object | ставка торговых и расчетных сборов (по желанию) |
leverageInfo | object | информация о займе (по желанию) |
relevantDollarPrices | list[object] | Цена токена, необходимая для конвертации цены RCH и расчета аирдропа (по желанию) |
amounts | object | Рассчитанные суммы (по желанию) |
apyInfo | object | Информация о годовой процентной ставке, доступная для продуктов без Surge (по желанию) |
oddsInfo | object | Информация о коэффициентах, доступная для продуктов Surge (по желанию) |
quote | object | |
> quoteId | number | |
> anchorPrices | list[string] | 20000000000, 30000000000 |
> makerCollateral | string | Сумма залога производителя |
> totalCollateral | string | Общая сумма залога (Тейкер + Производитель) |
> collateralAtRisk | string | Требуется при гарантии (по желанию) |
> makerBalanceThreshold | string | Порог баланса производителя |
> deadline | number | Временная метка истечения (например, 1672387200) |
> makerWallet | string | Кошелек производителя (по желанию) |
> signature | string | Подпись (по желанию) |
Вероятность выигрыша умного тренда
Вероятность оставаться в пределах границ до истечения срока
GET rfq/smart-trend/winning-probabilities
Параметры ввода
Название поля | Обязательно | Тип | Описание |
---|---|---|---|
forCcy | true | string | Основная валюта |
expiry | true | number | Временная метка второго уровня для даты истечения, например, 1672387200 |
lowerBarrier | true | number | Нижняя цена |
upperBarrier | true | number | Верхняя цена |
Параметры ответа
Название поля | Тип | Описание |
---|---|---|
code | int | 0 указывает на то, что возвращаемый результат нормальный |
message | string | Сообщение об ошибке, возвращаемое в случае исключения |
value | list[object] | Как показано ниже |
Объект
Название поля | Тип | Описание |
---|---|---|
spotPrice | number | Спотовая цена |
timestamp | number | |
probabilities | object | Вероятность выигрыша |
Пример запроса
GET rfq/smart-trend/winning-probabilities?forCcy=BTC&expiry=xxxx&lowerStrike=xxx&upperStrike=xxx
Ответ
{
"code":0,
"message":"",
"value": {
"spotPrice": 62121,
"timestamp": 1727080594,
"probabilities": {
"probDntStayInRange": null,
"probBullTrendItmLowerStrike": 0.4,
"probBullTrendItmUpperStrike": 0.4,
"probBearTrendItmLowerStrike": 0.6,
"probBearTrendItmUpperStrike": 0.6
}
}
}
Общий интерфейс
Удалить RFQ
Удалите RFQ, который был в цепочке
POST rfq/remove
Входные параметры
Название поля | Обязательно | Тип | Описание |
---|---|---|---|
rfqId | да | число | . |
Пример запроса
{
"rfqId":123456
}
Параметры ответа
Имя поля | Тип | Описание |
---|---|---|
code | int | 0 указывает на то, что результат возврата нормальный |
message | string | Сообщение об ошибке, возвращаемое в случае исключения |
value | object | . |
Уведомление о транзакции
POST rfq/trade
Параметры ввода
Имя поля | Обязательно | Тип | Описание |
---|---|---|---|
quotes | true | list[object] | |
> rfqId | true | number | |
> quoteId | true | number | |
> txId | true | string | Хэш транзакции |
code | false | string | Код приглашения |
walletType | false | string | Тип кошелька, например MetaMask, OKX Wallet, Coinbase и т.д. |
Пример запроса
{
"quotes": [
{
"rfqId": 123456,
"quoteId": 333,
"txId": "adsswe"
}
],
"code": "adsswe"
}
Параметры ответа
Имя поля | Тип | Описание |
---|---|---|
code | int | 0 указывает на то, что результат возврата нормален |
message | string | Сообщение об ошибке, возвращаемое в случае исключения |
value | object | . |
Список страйков
GET rfq/strike-list
Параметры ввода
Имя поля | Обязательно | Тип | Описание |
---|---|---|---|
indexPrice | true | number | |
forCcy | false | string | Для торговой пары BTC-USDT введите BTC здесь; если не указано, будет использована конфигурация по умолчанию. |
domCcy | false | string | Для торговой пары BTC-USDT введите USDT здесь; если не указано, по умолчанию будет USDT. |
Пример запроса
{
"indexPrice": 3750.8,
"forCcy": "WBTC",
}
Параметры ответа
Имя поля | Тип | Описание |
---|---|---|
strikes | list[number] | Рекомендуемый список цен страйка по умолчанию |
Список истечения
GET rfq/expiry-list
Входные параметры
Имя поля | Обязательно | Тип | Описание |
---|---|---|---|
vault | true | string | Адрес контракта |
chainId | true | int | Идентификатор цепи |
Пример запроса
{
"vault": "XXXXXXXXXXXXXX",
"chainId": 1,
}
Параметры ответа
Имя поля | Тип | Описание |
---|---|---|
timestamp | number | Начальное время в секундах с отметкой времени |
expiries | list[number] | Поддерживаемый список истечения в секундах с отметкой времени, например, 1672387200 |
Aave apy
GET rfq/aave-apy
Параметры ввода
Имя поля | Обязательно | Тип | Описание |
---|---|---|---|
chainId | да | число | |
ccy | да | строка | USDT |
Параметры ответа
Имя поля | Тип | Описание |
---|---|---|
chainId | число | Идентификатор цепи |
ccy | строка | Валюта депозита |
avgApy | строка | Средний APY, зафиксированный в цепи за последние 30 дней |
currentApy | строка | Последний APY AAVE |
apyUsed | строка | APY, фактически использованный в SofaServer для оценки будущих процентных доходов |
apyDefinition | строка | Определение расчета, соответствующее APY |
Пример ответа
{
"chainId": 1,
"ccy":"USDT",
"avgApy":"0.23442",
"currentApy":"0.23442",
"apyUsed":"0.23442",
"apyDefinition":"AAVE_LENDING_APY"
}
Apy
GET rfq/apy
Параметры ввода
Имя поля | Обязательно | Тип | Описание |
---|---|---|---|
chainId | true | number | |
ccy | true | string | USDT |
apyDefinition | false | string | Определение расчета, соответствующее APY; по умолчанию AaveLendingApy |
Параметры ответа
Имя поля | Тип | Описание |
---|---|---|
chainId | number | Идентификатор цепи |
ccy | string | Валюта депозита |
avgApy | string | Средний APY, зафиксированный в цепи за последние 30 дней |
currentApy | string | Последний APY |
apyUsed | string | APY, фактически использованный в SofaServer для оценки будущих процентных доходов |
apyDefinition | string | Определение расчета, соответствующее APY |
Пример ответа
{
"chainId": 1,
"ccy":"USDT",
"avgApy":"0.23442",
"currentApy":"0.23442",
"apyUsed":"0.23442",
"apyDefinition":"AAVE_LENDING_APY"
}
Получить позиции кошелька
POST /rfq/position-list
Параметры ввода
Имя поля | Обязательно | Тип | Описание |
---|---|---|---|
chainId | true | Int | |
vaults | false | list[string] | Набор адресов контрактов; если не указано, будут запрашиваться все контракты. |
claimed | false | boolean | Был ли он выкуплен; если не указано, будут запрашиваться позиции всех статусов. |
expired | false | boolean | Истек ли он; если не указано, будут запрашиваться позиции всех статусов. |
concealed | false | boolean | Скрыт ли он; если не указано, будут запрашиваться позиции всех статусов. |
positiveReturn | false | boolean | Является ли сумма выкупа больше 0; если не указано, будут запрашиваться все позиции. |
positiveProfit | false | boolean | Превышает ли доход основную сумму; если не указано, будут запрашиваться все позиции. |
limit | false | Int | Количество запросов; по умолчанию 100, максимум 300. |
startDateTime | false | number | Соответствующая временная метка в секундах (включительно), например, 1672387200. |
endDateTime | false | number | Соответствующая временная метка в секундах (включительно), например, 1672387200. |
orderBy | false | string | "createdAt" или "return", метод сортировки: "createdAt" (время обновления, по умолчанию) или "return" (доходы). |
orderDirection | false | string | "desc" или "asc", по умолчанию "desc" (по убыванию). |
wallet | false | string | Адрес кошелька (если пусто, будут запрашиваться все адреса кошельков). |
Примечание: Если количество результатов превышает 300 в указанных startDateTime
и endDateTime
, можно использовать опрос (в этом случае orderBy
должен быть установлен на "createdAt"
), чтобы продолжить запрос. Параметр endDateTime
для n-го запроса на опрос должен быть установлен на createdAt
последней записи из (n-1)-го результата опроса. После получения всех данных дубликаты должны быть удалены на основе поля id
.
Параметры ответа
Имя поля | Тип | Описание |
---|---|---|
code | number | |
message | string | |
value | list[object] | Как показано ниже |
Объект
Имя поля | Тип | Описание |
---|---|---|
id | string | Идентификатор продукта, соответствующий позиции (совпадает с productId в данных The Graph). Этот идентификатор уникален в пределах цепочки + измерения хранилища и может быть использован для запроса остатков позиций. |
positionId | string | Идентификатор позиции, который уникален в пределах измерения цепочки. |
product | object | Информация о продукте. |
wallet | string | Адрес кошелька. |
createdAt | number | Соответствующая временная метка в секундах, например, 1672387200. |
updatedAt | number | Соответствующая временная метка в секундах, например, 1672387200. |
claimed | boolean | Была ли позиция выкуплена. |
takerAllocationRate | number | На основе времени расчета оценивает долю, которую владелец может взять из пула ставок. До истечения срока это оценочное значение. |
triggerTime | number | Для Rangebound первое время прорыва; для не Rangebound время расчета, в секундах. |
triggerPrice | number | Для Rangebound первая цена прорыва; для не Rangebound цена расчета. |
feeRate | object | Ставка комиссии. |
leverageInfo | object | Информация о займе (необязательно). |
relevantDollarPrices | list[object] | Цены токенов, необходимые для конвертации цены RCH и расчета аирдропа. |
amounts | object | Рассчитанные суммы. |
apyInfo | object | Информация о годовой доходности, доступная для продуктов, не относящихся к Surge. |
oddsInfo | object | Информация о шансах, доступная для продуктов Surge. |
claimParams | object | Информация о параметрах запроса. |
Пример ответа
{
"value": [{
...
}]
}
Получить транзакции кошелька
POST /rfq/transaction-list
Параметры ввода
Название поля | Обязательно | Тип | Описание |
---|---|---|---|
chainId | true | Int | |
vaults | false | list[string] | Набор адресов контрактов; если не указано, будут запрашиваться все контракты. |
limit | false | Int | Количество запросов; по умолчанию 100, максимум 300. |
startDateTime | false | number | Соответствующая метка времени в секундах (включительно), например, 1672387200. |
endDateTime | false | number | Соответствующая метка времени в секундах (включительно), например, 1672387200. |
orderDirection | false | string | "desc" или "asc", по умолчанию "desc" (по убыванию). |
taker | false | string | Адрес кошелька получателя |
maker | false | string | Адрес кошелька создателя |
claimParams | false | object | Параметры выкупа, соответствующие полю claimParams в данных списка позиций. |
hash | false | string | Хэш транзакции |
Примечание: Параметры taker, maker и claimParams могут быть использованы для совместного запроса для поиска торговых записей, соответствующих позиции (позиция может соответствовать нескольким сделкам) (не все параметры обязательны). Если количество результатов превышает 300 в указанных startDateTime
и endDateTime
, можно использовать опрос (в этом случае orderBy
должен быть установлен на "createdAt"
), чтобы продолжить запрос. Параметр endDateTime
для n-го запроса опроса должен быть установлен на createdAt
последней записи из (n-1)-го результата опроса. После получения всех данных дубликаты должны быть удалены на основе поля id
.
Параметры ответа
Имя поля | Тип | Описание |
---|---|---|
code | number | |
message | string | |
value | list[object] | Как показано ниже |
Объект
Имя поля | Тип | Описание |
---|---|---|
id | string | |
hash | string | Хэш транзакции |
takerWallet | string | Адрес кошелька участника. |
makerWallet | string | Адрес кошелька создателя. |
product | object | Информация о продукте. |
createdAt | number | Соответствующая метка времени в секундах, например, 1672387200. |
takerAllocationRate | number | На основе времени расчета оценивает долю, которую владелец может получить из пула ставок. До истечения срока это оценочное значение. |
triggerTime | number | Для диапазонного - первое время прорыва; для недиапазонного - время расчета, в секундах. |
triggerPrice | number | Для диапазонного - первая цена прорыва; для недиапазонного - цена расчета. |
feeRate | object | Ставка комиссии. |
leverageInfo | object | Информация о займе (по желанию). |
relevantDollarPrices | list[object] | Цены токенов, необходимые для конверсии цены RCH и расчета аирдропа. |
amounts | object | Рассчитанные суммы. |
apyInfo | object | Информация о годовой доходности, доступная для недиапазонных продуктов. |
oddsInfo | object | Информация о коэффициентах, доступная для продуктов Surge. |
Пример ответа
{
"value": [{
...
}]
}
Скрыть позиции убытков
POST rfq/position/conceal
Входные параметры
Название поля | Обязательно | Тип | Описание |
---|---|---|---|
chainId | да | int | Идентификатор цепочки |
positionIds | да | List[string] | Список идентификаторов позиций, до 20 |
Пример запроса
{
"positionIds": [
"aaaa","bbbb"
],
"chainId": 1
}
Параметры ответа
Название поля | Тип | Описание |
---|---|---|
code | int | 0 указывает на то, что результат возврата нормален |
message | string | Сообщение об ошибке, возвращаемое в случае исключения |
value | object | . |
Получить ожидающие транзакции
Это в основном направлено на решение проблемы синхронизации данных о позициях. Данные, полученные здесь, могут исчезнуть (из-за конкуренции форков блокчейна).
POST rfq/transactions/pending
Параметры ввода
Название поля | Обязательно | Тип | Описание |
---|---|---|---|
chainId | да | Int | |
vaults | нет | list[string] | Набор адресов контрактов; если не указано, будут запрошены все контракты. |
taker | нет | string | Адрес кошелька тейкера |
maker | нет | string | Адрес кошелька мейкера |
Параметры ответа
Название поля | Тип | Описание |
---|---|---|
code | number | |
message | string | |
value | list[object] | Как показано ниже |
Объект
Название поля | Тип | Описание |
---|---|---|
id | string | |
hash | string | Хэш транзакции |
takerWallet | string | адрес кошелька тейкера. |
makerWallet | string | адрес кошелька мейкера. |
product | object | Информация о продукте. |
createdAt | number | Соответствующая метка времени в секундах, например, 1672387200. |
takerAllocationRate | number | На основе времени расчета оценивает долю, которую владелец может взять из пула ставок. До истечения срока это оценочное значение. |
triggerTime | number | Для Rangebound время первого прорыва; для не-Rangeboun время расчета, в секундах. |
triggerPrice | number | Для Rangebound первая цена прорыва; для не-Rangeboun цена расчета. |
feeRate | object | Ставка комиссии. |
leverageInfo | object | Информация о займе (необязательно). |
relevantDollarPrices | list[object] | Цены токенов, необходимые для конверсии цены RCH и расчета аирдропа. |
amounts | object | Рассчитанные суммы. |
apyInfo | object | Информация о годовой доходности, доступная для продуктов, не относящихся к Surge. |
oddsInfo | object | Информация о коэффициентах, доступная для продуктов Surge. |
Получить историю аирдропа RCH
GET rfq/airdrop/history
Параметры ввода
Имя поля | Обязательно | Тип | Описание |
---|---|---|---|
wallet | true | string | Адрес кошелька |
startDateTime | true | number | Соответствующая метка времени в секундах (включительно), например, 1672387200. |
endDateTime | true | number | Соответствующая метка времени в секундах (включительно), например, 1672387200. |
orderBy | false | string | "dateTime" или "rch", метод сортировки: "dateTime" (время airdrop, по умолчанию) или "rch" (сумма). |
orderDirection | false | string | "desc" или "asc", по умолчанию "desc" (по убыванию). |
Параметры ответа
Имя поля | Тип | Описание |
---|---|---|
code | number | |
message | string | |
value | list[object] | Как показано ниже |
Объект
Имя поля | Тип | Описание |
---|---|---|
dateTime | long | Текущая метка времени в секундах, например, 1672387200. |
wallet | string | Адрес кошелька |
volume | string | Объем торговли |
rch | string | Сумма airdrop, сырое значение, нужно разделить на 1e18 |
merkleProof | string | Меркле-доказательство |