Get relayer data
POST
https://api.octusbridge.io/v1/relays_pages/relay_info
200: OK Successful request
Copy {
"frozenStake": "258917.752572214000",
"untilFrozen": 1661463628000,
"latestReward": "0",
"totalReward": "8800.73179149",
"successfulRounds": 18,
"totalCountRounds": 20,
"relayTotalConfirmed": 7291,
"potentialTotalConfirmed": 8403,
"evmStats": [
{
"chainId": 1,
"relayConfirmed": 1801,
"potentialConfirmed": 2047
},
...
{
"chainId": 43114,
"relayConfirmed": 106,
"potentialConfirmed": 123
}
]
}
This function is used to return information about a specific relayer based on its address.
It can be used anywhere where details about a specific relayer is needed such as details about events and their confirmation, validating rounds, rewards, stake etc.
Request parameters
Required body parameters:
Response fields explanation
Example
Copy app .post ( '/relays_pages/relay_info' , (req , res) => {
axios ({
method : 'post' ,
url : ` ${ apiUrl } /relays_pages/relay_info` ,
data : {
relayAddress : req . body .relayAddress
}
})
.then ( function (response) {
res .send ( response .data)
})
.catch ( function (error){
console .error (error)
res .send ( 'Error' )
})
})
Get relayer round info
POST
https://api.octusbridge.io/v1/relays_pages/relay_round_info
200: OK Successful request
Copy {
"relayAddress": "0:daacff0f136da1d5c9fa73200d481362c44756b0ff7d083ee02e95f00a078557",
"roundNum": 15,
"stake": "258917.752572214000",
"eventsConfirmed": 661,
"tonToEthUsdt": "5567068.9741",
"ethToTonUsdt": "6119978.1405",
"relayPlace": 1,
"eventsConfirmedShare": "0.9511",
"totalRoundConfirms": 695,
"roundAddress": "0:20e866e80bb8ded0ad14f7317a58b05d378fd108306aafed64650465cd68b19e",
"startTime": 1653999926000,
"endTime": 1654604726000,
"evmStats": [
{
...
{
"chainId": 250,
"relayConfirmed": 7,
"potentialConfirmed": 7
},
{
"chainId": 43114,
"relayConfirmed": 16,
"potentialConfirmed": 17
}
]
}
This function use to get validation round info.
It can be used for showing a relayer’s efforts in one specific round.
Following data about the relayer’s performance based on the round number can be displayed:
How much a relayer staked to become a relayer, number of events he confirmed, volume from all the transfers relayer validated happened from everscale to ethereum network and vice versa shown in USDTs, round address, start and end time of the round.
Request parameters:
Required body parameters:
Response fields explanation
Example
Copy app . post ( '/relays_pages/relay_round_info' , (req , res) => {
axios({
method : 'post' ,
url : `${apiUrl} / relays_pages / relay_round_info` ,
data : {
relayAddress : req . body . relayAddress ,
roundNum : req . body . roundNum
}
})
. then ( function (response) {
res . send ( response . data )
})
. catch ( function(error) {
console . error (error)
res . send ( 'Error' )
})
})
Get relayers round info
POST
https://api.octusbridge.io/v1/relays_pages/relays_round_info
200: OK Successful request
Copy {
"relays": [
{
"relayAddress": "0:ef79b4aac06c33ab3435943d196de9ba9ee48a3e4572c86a8ad3a2bf84b4f767",
"roundNum": 15,
"stake": "100000",
"eventsConfirmed": 661,
"tonToEthUsdt": "5567068.9741",
"ethToTonUsdt": "6485680.9782",
"relayPlace": null,
"eventsConfirmedShare": "0.9511",
"totalRoundConfirms": 695,
"roundAddress": "0:20e866e80bb8ded0ad14f7317a58b05d378fd108306aafed64650465cd68b19e",
"startTime": 1653999926000,
"endTime": 1654604726000,
"evmStats": []
},
...
{
"relayAddress": "0:a2848bfafd47a43ac029e3c55c7241804be7fe3331ed3e965862431a78f528e1",
"roundNum": 15,
"stake": "100000",
"eventsConfirmed": 630,
"tonToEthUsdt": "5567068.9741",
"ethToTonUsdt": "5732605.3024",
"relayPlace": null,
"eventsConfirmedShare": "0.9065",
"totalRoundConfirms": 695,
"roundAddress": "0:20e866e80bb8ded0ad14f7317a58b05d378fd108306aafed64650465cd68b19e",
"startTime": 1653999926000,
"endTime": 1654604726000,
"evmStats": []
}
],
"totalCount": 23
}
This function returns list of relayers and details about them based on the round number they are part of.
Can be used for listing all or certain number of relayers when it comes to one validation round.
Some of the details about the relayers are number of confirmed events and the share per event, relay’s address, list of events, place of a relayer and also info about the round such as start and end time, round number and address, etc.
Request parameters
Required body parameters:
Response fields explanation
Example
Copy app . post ( '/relays_pages/relays_round_info' , (req , res) => {
axios({
method : 'post' ,
url : `${apiUrl} / relays_pages / relays_round_info` ,
data : {
limit : req . body . limit ,
offset : req . body . offset ,
ordering : req . body . ordering ,
roundNum : req . body . roundNum
}
})
. then ( function (response) {
res . send ( response . data )
})
. catch ( function(error) {
console . error (error)
res . send ( 'Error' )
})
})
Get all validation rounds info
POST
https://api.octusbridge.io/v1/relays_pages/all_relay_ronds_info
200: OK Successful resonse
Copy {
"relays": [
{
"relayAddress": "0:daacff0f136da1d5c9fa73200d481362c44756b0ff7d083ee02e95f00a078557",
"roundNum": 1,
"stake": "244636",
"eventsConfirmed": 97,
"tonToEthUsdt": "573326.1229",
"ethToTonUsdt": "401075.7860",
"relayPlace": null,
"eventsConfirmedShare": "0.8981",
"totalRoundConfirms": 108,
"roundAddress": "0:77f4e7eb93d7fb3432f297782f2cd2e5fb2a62bb05d8a9590ea54c6ab954254d",
"startTime": 1645303857000,
"endTime": 1645908657000,
"evmStats": []
},
...
{
"relayAddress": "0:daacff0f136da1d5c9fa73200d481362c44756b0ff7d083ee02e95f00a078557",
"roundNum": 10,
"stake": "244636",
"eventsConfirmed": 529,
"tonToEthUsdt": "5204152.7479",
"ethToTonUsdt": "4509235.2178",
"relayPlace": null,
"eventsConfirmedShare": "0.8773",
"totalRoundConfirms": 603,
"roundAddress": "0:cc312267aa40b7f9a56ce1aad46dbca5088c2d30ee1ba88555d2e97941ac9816",
"startTime": 1650975926000,
"endTime": 1651580726000,
"evmStats": []
}
],
"totalCount": 18
}
This function returns all validation relay rounds in which specified relayer took part in.
It can be used for monitoring a relayer's activity and history by retrieving data such as details about events and share per event, round details, relayer’s place and stake, etc. only by inputting relayer’s address.
Request parameters
Required body parameters:
Response fields explanation
Example
Copy app . post ('/relays_pages/all_relay_rounds_info', (req, res) => {
axios({
method: 'post',
url: `${apiUrl}/relays_pages/all_relay_rounds_info`,
data: {
limit : req.body.limit,
offset : req.body.offset,
ordering : req.body.ordering,
userAddress : req.body.userAddress
}
})
.then(function (response) {
res.send(response.data)
})
.catch(function(error){
console.error(error)
res.send('Error')
})
})
Get validation round info
POST
https://api.octusbridge.io/v1/relays_pages/round_info
200: OK Successful request
Copy {
"roundNum": 10,
"totalStake": "2549112.692146446000",
"totalStakeChange": "8.5100",
"averageRelayStake": "106213.02883900",
"averageRelayStakeChange": "-0.5300",
"eventsConfirmed": 603,
"relaysCount": 24,
"relaysCountChange": "9.0900",
"tonToEthUsdt": "6007826.4910",
"ethToTonUsdt": "5204152.7479",
"evmStats": [
{
"chainId": 1,
"relayConfirmed": 0,
"potentialConfirmed": 142
},
...
{
"chainId": 43114,
"relayConfirmed": 0,
"potentialConfirmed": 7
}
]
}
This function returns basic information about relayers based on their addresses, round number and stake.
It can be used for filtering rounds based on their number and showing information about them such as stake and stake changes, information about events, relayers and change in number of them, amount of USDTs transferred through the round duration.
Request parameters
Required body parameters:
Response fields explanation
Example
Copy app . post ( '/relays_pages/round_info' , (req , res) => {
axios({
method : 'post' ,
url : `${apiUrl} / relays_pages / round_info` ,
data : {
roundNum : req . body . roundNum
}
})
. then ( function (response) {
res . send ( response . data )
})
. catch ( function(error) {
console . error (error)
res . send ( 'Error' )
})
})
Get relayers info
POST
https://api.octusbridge.io/v1/relays_pages/search/relays
200: OK Successful response
Copy {
"relays": [
{
"relayAddress": "0:099341ccbe3f2db59432fc1cc794773b9da06048d14e43ae24ae224dd768145d",
"stake": "100000",
"slashed": false,
"currentRound": true,
"successfulRounds": 10,
"totalRounds": 10,
"createdAt": 1651074897000,
"relayTotalConfirmed": 4053,
"potentialTotalConfirmed": 4746
},
...
{
"relayAddress": "0:92beea3fa73ba9fa2420442eb89c7c16fdb899e9d4c10f84e34f13f651beb25f",
"stake": "100000",
"slashed": false,
"currentRound": true,
"successfulRounds": 20,
"totalRounds": 20,
"createdAt": 1645013257000,
"relayTotalConfirmed": 7894,
"potentialTotalConfirmed": 8924
}
],
"totalCount": 27
}
This function **** returns basic information about relayers based on their addresses, round number and stake.
Request parameters
Required body parameters:
Parameters used for the test:
Response fields explanation
Example
Copy app . post ( '/relays_pages/search/relays' , (req , res) => {
axios({
method : 'post' ,
url : `${apiUrl} / relays_pages / search / relays` ,
data : {
createdAtGe : req . body . createdAtGe ,
createdAtLe : req . body . createdAtLe ,
limit : req . body . limit ,
offset : req . body . offset ,
ordering : req . body . ordering ,
relayAddresses : req . body . relayAddresses ,
roundNum : req . body . roundNum ,
stakeGe : req . body . stakeGe ,
stakeLe : req . body . stakeLe ,
transferContractAddress : req . body . transferContractAddress
}
})
. then ( function (response) {
res . send ( response . data )
})
. catch ( function(error) {
console . error (error)
res . send ( 'Error' )
})
})
Get relayer
POST
https://api.octusbridge.io/v1/relays_pages/search/relays_events
200: OK Successful request
Copy {
"relays": [
{
"transferKind": "ethtoton",
"contractAddress": "0:91b879d842d2292db57abd10d1cd6e83959dd27fb70189d02032314c0de542a9",
"chainId": 1,
"tokenAddress": "0:a519f99bb5d6d51ef958ed24d337ad75a1c770885dcd42d51d6663f9fcdacfb2",
"from": "0xcbefe3344284444ac8141c930207b8ff82a3177e",
"to": "0:1fcdda0bdb6cc28476575f1617949188fb9f29d35b9f86217438baf3519058c3",
"amount": "90000",
"timestamp": 1655983612000
},
...
{
"transferKind": "ethtoton",
"contractAddress": "0:91b879d842d2292db57abd10d1cd6e83959dd27fb70189d02032314c0de542a9",
"chainId": 1,
"tokenAddress": "0:a519f99bb5d6d51ef958ed24d337ad75a1c770885dcd42d51d6663f9fcdacfb2",
"from": "0xcbefe3344284444ac8141c930207b8ff82a3177e",
"to": "0:1fcdda0bdb6cc28476575f1617949188fb9f29d35b9f86217438baf3519058c3",
"amount": "90000",
"timestamp": 1655983612000
}
],
"totalCount": 18
}
This function returns details about relayer’s events based on the chain id of the event, kind of transfer, receiver’s address, sender’s address, token address, relayer’s address, contract’s address, round number.
It can be used for filtering all the events based on the required parameters and displaying them in the list form along with information such as amount transferred, chain id, sender’s address, receiver’s address, token address etc.
Request parameters
Required body parameters:
Response fields explanation
Example
Copy app . post ( '/relays_pages/search/relays_events' , (req , res) => {
axios({
method : 'post' ,
url : `${apiUrl} / relays_pages / search / relays_events` ,
data : {
amountGe : req . body . amountGe ,
amountLe : req . body . amountLe ,
chainId : req . body . chainId ,
ethUserAddress : req . body . ethUserAddress ,
limit : req . body . limit ,
offset : req . body . offset ,
ordering : req . body . ordering ,
relayAddress : req . body . relayAddress ,
roundNum : req . body . roundNum ,
timestampGe : req . body . timestampGe ,
timestampLe : req . body . timestampLe ,
tokenAddress : req . body . tokenAddress ,
tonUserAddress : req . body . tonUserAddress ,
transferContractAddress : req . body . transferContractAddress ,
transferKind : req . body . transferKind
}
})
. then ( function (response) {
res . send ( response . data )
})
. catch ( function(error) {
console . error (error)
res . send ( 'Error' )
})
})
Get global relayer
POST
https://api.octusbridge.io/v1/relays_pages/search/global_relays_events
200: OK Successful request
Copy {
"relays": [
{
"transferKind": "ethtoton",
"contractAddress": "0:91b879d842d2292db57abd10d1cd6e83959dd27fb70189d02032314c0de542a9",
"chainId": 1,
"tokenAddress": "0:a519f99bb5d6d51ef958ed24d337ad75a1c770885dcd42d51d6663f9fcdacfb2",
"from": "0xcbefe3344284444ac8141c930207b8ff82a3177e",
"to": "0:1fcdda0bdb6cc28476575f1617949188fb9f29d35b9f86217438baf3519058c3",
"amount": "90000",
"timestamp": 1655983612000
}
],
"totalCount": 1
}
This function returns details about relayer’s events based on the chain id of the event, kind of transfer, receiver’s address, sender’s address, token address, relayer’s address, contract’s address, round number.
It can be used for filtering all the events based on the required parameters and displaying them in the list form along with information such as amount transferred, chain id, sender’s address, receiver’s address, token address etc.
Request parameters
Required body parameters:
Response fields explanation
Example
Copy app . post ( '/relays_pages/search/global_relays_events' , (req , res) => {
axios({
method : 'post' ,
url : `${apiUrl} / relays_pages / search / global_relays_events` ,
data : {
amountGe : req . body . amountGe ,
amountLe : req . body . amountLe ,
chainId : req . body . chainId ,
ethUserAddress : req . body . ethUserAddress ,
limit : req . body . limit ,
offset : req . body . offset ,
ordering : req . body . ordering ,
roundNum : req . body . roundNum ,
timestampGe : req . body . timestampGe ,
timestampLe : req . body . timestampLe ,
tokenAddress : req . body . tokenAddress ,
tonUserAddress : req . body . tonUserAddress ,
transferContractAddress : req . body . transferContractAddress ,
transferKind : req . body . transferKind
}
})
. then ( function (response) {
res . send ( response . data )
})
. catch ( function(error) {
console . error (error)
res . send ( 'Error' )
})
})
Get rounds calendar
POST
https://api.octusbridge.io/v1/relays_pages/rounds_calendar
200: OK Successful request
Copy [
{
"roundAddress": "0:77f4e7eb93d7fb3432f297782f2cd2e5fb2a62bb05d8a9590ea54c6ab954254d",
"roundNum": 1,
"startTime": 1645303857000,
"endTime": 1645908657000,
"electionStartTime": 1644958278000,
"electionEndTime": 1645131078000
},
...
{
"roundAddress": "0:547c234e01d17b33331ed0f1270598906bcfec03d55d414cafc69e6118258da5",
"roundNum": 9,
"startTime": 1650371126000,
"endTime": 1650975926000,
"electionStartTime": 1650025543000,
"electionEndTime": 1650198343000
}
]
This fuction returns data about the rounds between from and to rounds numbers.
It can be used as round’s calendar where data about election start and end time, round’s start and end time, number and address for each round will be displayed
Request parameters
Required body parameters:
Response fields explanation
Example
Copy app . post ( '/relays_pages/rounds_calendar' , (req , res) => {
axios({
method : 'post' ,
url : `${apiUrl} / relays_pages / rounds_calendar` ,
data : {
fromRoundNum : req . body . fromRoundNum ,
toRoundNum : req . body . toRoundNum
}
})
. then ( function (response) {
res . send ( response . data )
})
. catch ( function(error) {
console . error (error)
res . send ( 'Error' )
})
})
Get validation rounds info
POST
https://api.octusbridge.io/v1/relays_pages/relays_pages/relay_rounds_info
200: OK Successful request
Copy {
"relays": [
{
"roundAddress": "0:cc312267aa40b7f9a56ce1aad46dbca5088c2d30ee1ba88555d2e97941ac9816",
"roundNum": 10,
"stake": "244636",
"eventsConfirmed": 529,
"toTonUsdt": "4509235.2178",
"toTonUsdtShare": "0.4642",
"fromTonUsdt": "5204152.7479",
"fromTonUsdtShare": "0.5358",
"startTime": 1650975926000,
"endTime": 1651580726000,
"eventsShare": "0.8773"
}
],
"totalCount": 0
}
This function returns information about the relayerabout relayer relay taking part in the specific round based on itsit’s address and round number.
It can be used for filtering where relayer’s and round’s information, for the chosen round, such as round end, round start, events information, amount of assets transferred through the round etc., will be displayed.
Request parameters
Required body parameters:
Response fields explonation
Example
Copy app . post ( '/relays_pages/relay_rounds_info' , (req , res) => {
axios({
method : 'post' ,
url : `${apiUrl} / relays_pages / relay_rounds_info` ,
data : {
limit : req . body . limit ,
offset : req . body . offset ,
ordering : req . body . ordering ,
roundNum : req . body . roundNum ,
userAddress : req . body . userAddress
}
})
. then ( function (response) {
res . send ( response . data )
})
. catch ( function(error) {
console . error (error)
res . send ( 'Error' )
})
})