⛽️ Relay API

Unlock the best of Ethereum with Rockside relays.

To relay a transaction, send the destination contract address, the data and the speed you want. Available speeds are safelow (around 30 minutes), average or standard(around 5 minutes), fast (around 2 minutes), fastest (around 30 seconds).

On Testnet we accept to relay transactions to any destination and we do not check the refund Rockside will receive.

On Mainnet we accept to relay transactions to any Gnosis smart wallet. To authorize your destination contract, please contact us. We check the data sent to the destination contract to determine if we will be sufficiently refunded for network fees.

To know our expectations for gasprice and refund address, call our relay params API. That will give a list of speed associated to a gas_price and a relayer. Then use those to create the data required by the destination.

When the transaction is accepted, it will be included in the blockchain even if we have to pay more than the gas price that was specified.

Because Rockside is susceptible to replay a stuck transaction, the Tx Hash associated to your transaction changes.

To keep track of your transaction - whatever happens to it - use the tracking_id- to call our Transaction infos API.

post
Relay transaction

https://api.rockside.io/ethereum/:network/relay/:destination_address
Request
Response
Request
Path Parameters
network
required
string
Available networks: ropsten, mainnet
destination_address
required
string
Address of your contract.
Body Parameters
data
required
string
Hexadecimal data of the call.
speed
required
string
Speed of your choosing between safelow, standard, fast and fastest.
Response
200: OK
{
"transaction_hash": "0x6663a81a1a827c4bf2301eb169de900c51d2b6e4e2c26d503dce10888f8cdee9",
"tracking_id": "01E9ZSDHMYYFMW3E1CVQ9ADVHK"
}

get
Get Relay Params

https://api.rockside.io/ethereum/:network/relay/:address/params
You need to choose a speed and a the appropriate relayer before sending your transaction. For that, all we need is your smart contract address.
Request
Response
Request
Path Parameters
network
required
string
Available networks: ropsten, mainnet
address
required
string
Address of your contract.
Response
200: OK
Gas price in wei for each speed and relayer associated.
{
"speeds": {
"fast": {
"gas_price": "1400000000",
"relayer": "0x1000000000000000000000000000000000000000"
},
"fastest": {
"gas_price": "1900000000",
"relayer": "0x2000000000000000000000000000000000000000"
},
"safelow": {
"gas_price": "600000000",
"relayer": "0x3000000000000000000000000000000000000000"
},
"standard": {
"gas_price": "1000000000",
"relayer": "0x4000000000000000000000000000000000000000"
}
}
}

get
Follow your transaction

https://api.rockside.io/ethereum/:network/transactions/:id
Retrieve informations about a transaction relayed.
Request
Response
Request
Path Parameters
network
required
string
Available network are: mainnet, ropsten
id
required
string
transaction_hash or tracking_id. Returned by the relay service when sending your transaction. Use the tracking ID to have the latest and automatically updated status of your transaction even in case of replays and other actions taken.
Response
200: OK
{
"transaction_hash": "0x2968698cb90ec9d95f8656d28bb29593029c79bcd22b42dc6b9469cb03729e2a",
"tracking_id": "01EA266P6PKN0ZY01P0Q6G7WR5",
"from": "0xdd0f36e17474e8cbf9c4e483d02a1cf34f41550a",
"to": "0x7bb7703f2c601a54b484add52a07afad9c9f495e",
"data_length": 484,
"value": 0,
"gas": 87601,
"gas_price": 19270,
"chain_id": 3,
"receipt": {
"status": 1,
"cumulative_gas_used": 6332041,
"logs": [],
"transaction_hash": "0x2968698cb90ec9d95f8656d28bb29593029c79bcd22b42dc6b9469cb03729e2a",
"contract_address": "0x0000000000000000000000000000000000000000",
"gas_used": 86687,
"block_hash": "0xd21a10cc344cb84faaab6725de8dedf51ae8deaacba62c6e0a570dc2578481f2",
"block_number": 8035552,
"transaction_index": 8
},
"status": "success",
}