Skip to main content

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

FieldTypeDescription
chainstringChain id of the blockchain the simulation should take place on. Currently supported: 1, 137, 10, 56, 8453, 43114, 42161.
inputobjectObject with properties to specify the transaction data for simulation.
fromstringWhich address is sending the transaction.
tostringWhich address is the target of the transaction.
inputstringTransaction calldata.
gas(Optional)numberThe amount of gas to be used.
gas_price(Optional)stringThe gas price to be used.
value(Optional)stringValue of the transaction.
block_number(Optional)numberBlocknumber at which the transaction should take place. If absent, the most recent block is used.
simulation_type(Optional)stringType 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

FieldTypeDescription
networkIdsarrayArray of network ids. Currently supported ids: arbitrum, avalanche, base, bsc, ethereum, optimism, polygon, zkevm.
addressstringAddress 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
}
}