Skip to content

Send Transaction

Introduction

{% hint style="warning" %} Solana's transaction sending service is not bound to the subscription plan, with rate limit default to 3 TPS. API key could be required from Authentication. If you need to increase the TPS limit, please contact us and we will handle it as soon as possible. {% endhint %}

BlockRazor achieves subsecond-level transaction inclusion based on globally distributed high-performance network and high-quality SWQoS(see the Benchmark), and also provides multiple modes such as sandwich mitigation.

Send Transaction is used to send signed transaction on Solana based on HTTP and gRPC.

Endpoint

HTTP

RegionURL
Frankfurthttp://frankfurt.solana.blockrazor.xyz:443/sendTransaction
New Yorkhttp://newyork.solana.blockrazor.xyz:443/sendTransaction
Tokyohttp://tokyo.solana.blockrazor.xyz:443/sendTransaction
Amsterdamhttp://amsterdam.solana.blockrazor.xyz:443/sendTransaction
Londonhttp://london.solana.blockrazor.xyz:443/sendTransaction

gRPC

RegionURL
Frankfurtfrankfurt.solana-grpc.blockrazor.xyz:80
New Yorknewyork.solana-grpc.blockrazor.xyz:80
Tokyotokyo.solana-grpc.blockrazor.xyz:80
Amsterdamamsterdam.solana-grpc.blockrazor.xyz:80
Londonlondon.solana-grpc.blockrazor.xyz:80

Rate Limit

{% hint style="info" %} Solana's transaction sending service is no longer bound to the subscription plan. API key could be required from Authentication. If you need to increase the TPS limit, please contact us and we will handle it as soon as possible. {% endhint %}

Transaction Construction Example

Request Parameter

ParametersMandatoryExampleDescription
transactionMandatory"4hXTCk……tAnaAT"Fully signed transactions, compatible with encoding protocal base 64 and base 58, with base 64 being recommended
modeOptional"fast"
"sandwichMitigation"
BlockRazor offers two modes: Fast and SandwichMitigation, with Fast as the default.

In fast mode, transactions are sent based on globally distributed high-performance network and high-quality SWQoS, reaching the Leader node with the lowest latency.

In sandwichMitigation mode, BlockRazoz will route transactions to the trusted SWQoS and skip the slot of the blacklisted Leader (dynamically identified by the BlockRazor sandwich monitoring mechanism). In this mode, DO NOT send transactions using durable nonce, as it will cause the sandwich protection to become ineffective.
safeWindowOptional3safeWindow is used to determine the timing of transaction sending in sandwichMitigation mode and represents the number of consecutive slots of whitelist validators. For example, if it is set to 3, the transaction will only be sent when 3 consecutive slots from the current slot belong to whitelist validators.

The range of safeWindow is 3-13. The larger the number, the better the effect of mitigating the sandwich attack, but it may have a certain impact on the rate of inclusion. If not set, the default is 3.
revertProtectionOptionalfalseThe default value is false. If set to true, the transaction will not fail on chain, but the speed of inclusion will be affected and there is a possibility that it cannot be included. Please choose to enable it carefully according to actual needs.

Priority Fee

Priority Fee is an additional transaction fee charged by Solana on top of Base Fee (the minimum cost of sending a transaction, 5,000 lamports for each signature included in the transaction). Due to limited computing resources, Leader nodes order transactions mainly by transaction value when producing blocks. Transactions with higher Priority Fee have a higher probability of being included in the next block. The CU Price of Priority Fee is provided by getTransactionfee and is recommended to be set at least 1,000,000 when conscructing transactions.

Tip

When constructing a transaction, you need to add a instruction of Tip transfer into the transaction(preferably added at the front position) to further speed up the inclusion. BlockRazor does not charge service fees from Tips. The Tip transfer amount is at least 100,000 Lamports (0.0001 Sol) . It is recommended to set it to the value returned by getTransactionfee. The account to receive Tip is:

"FjmZZrFvhnqqb9ThCuMVnENaM3JGVuGWNyCAxRJcFpg9",
"6No2i3aawzHsjtThw81iq1EXPJN6rh8eSJCLaYZfKDTG",
"A9cWowVAiHe9pJfKAj3TJiN9VpbzMUq6E4kEvf5mUT22",
"Gywj98ophM7GmkDdaWs4isqZnDdFCW7B46TXmKfvyqSm",
"68Pwb4jS7eZATjDfhmTXgRJjCiZmw1L7Huy4HNpnxJ3o",
"4ABhJh5rZPjv63RBJBuyWzBK3g9gWMUQdTZP2kiW31V9",
"B2M4NG5eyZp5SBQrSdtemzk5TqVuaWGQnowGaCBt8GyM",
"5jA59cXMKQqZAVdtopv8q3yyw9SYfiE3vUCbt7p8MfVf",
"5YktoWygr1Bp9wiS1xtMtUki1PeYuuzuCF98tqwYxf61",
"295Avbam4qGShBYK7E9H5Ldew4B3WyJGmgmXfiWdeeyV",
"EDi4rSy2LZgKJX74mbLTFk4mxoTgT6F7HxxzG2HBAFyK",
"BnGKHAC386n4Qmv9xtpBVbRaUTKixjBe3oagkPFKtoy6",
"Dd7K2Fp7AtoN8xCghKDRmyqr5U169t48Tw5fEd3wT9mq",
"AP6qExwrbRgBAVaehg4b5xHENX815sMabtBzUzVB4v8S",

{% hint style="info" %} To avoid the degradation of performance due to address occupation, causing transaction delay, please rotate the Tip account when sending transactions. {% endhint %}

Keep Alive

Send post request to the health endpoint to keep connection alive, the request is as follows:

{% tabs %} {% tab title="CURL" %}

curl -X POST 'http://frankfurt.solana.blockrazor.xyz:443/health' \
-H "Content-Type: application/json" \
-H "apikey: <auth_token>" \
-d ""

{% endtab %} {% endtabs %}