> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbitflare.com/llms.txt
> Use this file to discover all available pages before exploring further.

# getFeeForMessage

> Получить комиссию, которую сеть возьмёт за конкретное сообщение

## Параметры

<ParamField query="message" type="string" required>
  Сообщение в кодировке base-64
</ParamField>

<ParamField query="commitment" type="string" optional>
  Уровень подтверждения для расчёта комиссии
</ParamField>

## Ответ

<ResponseField name="result" type="object">
  <Expandable title="поля результата">
    <ResponseField name="context" type="object">
      <ResponseField name="slot" type="number">
        Слот, в котором был обработан этот запрос
      </ResponseField>
    </ResponseField>

    <ResponseField name="value" type="number | null">
      Комиссия в lamports за обработку сообщения, или null если сообщение недействительно или комиссию невозможно вычислить
    </ResponseField>
  </Expandable>
</ResponseField>

## Примеры кода

### Базовый запрос

```bash theme={null}
curl http://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY -X POST -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getFeeForMessage",
  "params": [
    "AQABAyRn/PA8jzJtN6oAyB3VR0nfOF0xnfkYaKwY4Ir3nrHFJGqhAQICAAEDAgABDAIAAAAEAAAAAAAA",
    {"commitment": "processed"}
  ]
}'
```

### Использование web3.js

```typescript theme={null}
import { Connection } from '@solana/web3.js';

const connection = new Connection('http://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY');
const message = 'AQABAyRn/PA8jzJtN6oAyB3VR0nfOF0xnfkYaKwY4Ir3nrHFJGqhAQICAAEDAgABDAIAAAAEAAAAAAAA';
const fee = await connection.getFeeForMessage(message);
console.log(fee);
```

### Использование Python

```python theme={null}
from solana.rpc.api import Client

client = Client("http://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY")
message = "AQABAyRn/PA8jzJtN6oAyB3VR0nfOF0xnfkYaKwY4Ir3nrHFJGqhAQICAAEDAgABDAIAAAAEAAAAAAAA"
response = client.get_fee_for_message(message)
print(response)
```

## Примечания

1. Возвращает комиссию, которую сеть возьмёт за конкретное сообщение
2. Полезно для более точного расчёта комиссий за транзакции
3. Предпочтительнее устаревших методов расчёта комиссий
4. Можно указать разные уровни подтверждения
5. Возвращает null, если сообщение недействительно или не может быть обработано

## Рекомендации

1. Используйте этот метод для точного прогнозирования комиссий перед отправкой транзакций
2. Предоставляйте корректное сообщение в кодировке base64, чтобы избежать null-ответов
3. Обрабатывайте null-ответы должным образом в вашем приложении
4. Обрабатывайте сетевые ошибки и выполняйте повторные попытки при необходимости
5. Используйте этот метод, когда необходим точный расчёт комиссии
