Utils
About
Utils API has a bunch of useful endpoints for different purposes that cannot be put in other categories.
Routes
POST /utils/rpc/{network}
Proxy route for ExtraWallet RPC nodes. Currently supports Ethereum, Optimism, Bsc, Avalanche, Polygon, Arbitrum, Base, Solana, Sui, Ton.
Accepts JSON RPC request, returns the response of the node.
POST /utils/rpc/{network}/testnet
Proxy route for ExtraWallet RPC testnet nodes. Currently supports Optimism, Bsc, Avalanche, Polygon, Arbitrum, Base, Solana, Ton.
Accepts JSON RPC request, returns the response of the node.
POST /utils/sendrawtransaction?chain={network_id}&tx={raw_tx}
Send raw transaction. Currently supports only a part of the networks. Supported network_ids: dogecoin, bitcoin, litecoin, cardano, bch.
raw_tx should be a raw transaction string to send.
Returns the node response.
POST /utils/getrawtransaction?chain={network_id}&tx={tx}
Send raw transaction. Currently supports only a part of the networks. Supported network_ids: dogecoin, bitcoin, litecoin, cardano, bch, ton.
tx should be a transaction hash.
Returns the node response.
GET /utils/fund-testnet-account/{address}
Fund address on MoreThanWallet's own testnet.
GET /utils/protocol-parameters
Get protocol data of cardano in the following format:
{
"parameters": { ... },
"blockData": { ... }
}
To read more about parameters content, please, go to Blockfrost documentation here, and to know more about blockData read this.
POST /utils/simulate-tx
Simulate transaction using Tenderly and make simulation public.
Request body example:
{
"chain": "42161",
"input": {
"from": "0x290b65995dede04c163cb3668096b99505fe0759",
"to": "0x6a000f20005980200259b80c5102003040001068",
"input": "0xe3ead59e...",
"gas": 228331,
"gas_price": "0xa7d8c0",
"value": "0x0",
"block_number": 200000,
"simulation_type": "full"
}
}
Request fields
| Field | Type | Description |
|---|---|---|
| chain | string | Chain id of the blockchain the simulation should take place on. Currently supported: 1, 137, 10, 56, 8453, 43114, 42161. |
| input | object | Object with properties to specify the transaction data for simulation. |
| from | string | Which address is sending the transaction. |
| to | string | Which address is the target of the transaction. |
| input | string | Transaction calldata. |
| gas | (Optional)number | The amount of gas to be used. |
| gas_price | (Optional)string | The gas price to be used. |
| value | (Optional)string | Value of the transaction. |
| block_number | (Optional)number | Blocknumber at which the transaction should take place. If absent, the most recent block is used. |
| simulation_type | (Optional)string | Type of the simulation. Defaults to full. You can read more about it here |
Returns all the fields returned from Tenderly plus url of the simulation in simulationUrl field.
POST /utils/first-tx
Get information about the time of first transaction of the contract on given netwroks. Expects body in the following format
{
"networkIds": ["ethereum", "base"],
"address": "0xDEF171Fe48CF0115B1d80b88dc8eAB59176FEe57"
}
Request fields
| Field | Type | Description |
|---|---|---|
| networkIds | array | Array of network ids. Currently supported ids: arbitrum, avalanche, base, bsc, ethereum, optimism, polygon, zkevm. |
| address | string | Address to search the first transaction of. |
Returns record with network ids as keys and objects with timestamps as values.
Example:
{
"ethereum": {
"timestamp": 1718273567
},
"optimism": {
"timestamp": 1718271665
},
"avalanche": {
"timestamp": 1718276992
},
"polygon": {
"timestamp": 1718272151
},
"bsc": {
"timestamp": 1718271168
}
}