> ## 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.

# getStakeMinimumDelegation

> Возвращает минимальную сумму делегирования стейка

## Параметры

<ResponseField name="config" type="object" optional>
  Объект конфигурации, содержащий:

  <ResponseField name="commitment" type="string" optional>
    Уровень подтверждения (processed, confirmed, finalized)
  </ResponseField>
</ResponseField>

## Ответ

<ResponseField name="result" type="number">
  Минимальная сумма делегирования стейка в lamports
</ResponseField>

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

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

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

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

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

const connection = new Connection('https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY');

// Get minimum stake delegation
const minDelegation = await connection.getStakeMinimumDelegation();
console.log('Minimum stake delegation:', minDelegation);

// Get minimum stake delegation with analysis
async function getStakeMinimumDelegationWithAnalysis(
  config?: { commitment?: string }
) {
  const minDelegation = await connection.getStakeMinimumDelegation(config);
  
  return {
    minDelegation,
    analysis: {
      inSOL: minDelegation / 1e9, // Convert lamports to SOL
      metadata: {
        timestamp: Date.now(),
        commitment: config?.commitment
      }
    }
  };
}
```

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

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

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

1. Используйте подходящий уровень подтверждения в зависимости от ваших потребностей
2. Кэшируйте результаты там, где это уместно, для снижения нагрузки на RPC
3. Отслеживайте изменения в минимальной сумме делегирования
4. Рассмотрите использование подписки на websocket для обновлений в реальном времени
5. Обрабатывайте сетевые ошибки и выполняйте повторные попытки при необходимости

## Распространённые ошибки

| Код    | Сообщение                                  | Решение                                                   |
| ------ | ------------------------------------------ | --------------------------------------------------------- |
| -32601 | Method not found                           | Убедитесь, что вы подключены к узлу Solana RPC            |
| -32602 | Invalid params                             | Проверьте параметры конфигурации                          |
| -32007 | Minimum delegation information unavailable | Узел может выполнять начальную загрузку или синхронизацию |

## Сценарии использования

1. **Анализ делегирования стейка**
   ```typescript theme={null}
   interface StakeDelegationAnalysis {
     minDelegation: number;
     metrics: {
       inSOL: number;
       recommendedMinimum: number;
     };
     metadata: {
       timestamp: number;
       commitment?: string;
     };
   }

   class StakeDelegationAnalyzer {
     private readonly recommendedMultiplier = 1.1; // 10% above minimum
     
     async analyzeStakeDelegation(
       config?: { commitment?: string }
     ): Promise<StakeDelegationAnalysis> {
       const minDelegation = await connection.getStakeMinimumDelegation(config);
       
       return {
         minDelegation,
         metrics: {
           inSOL: minDelegation / 1e9,
           recommendedMinimum: minDelegation * this.recommendedMultiplier
         },
         metadata: {
           timestamp: Date.now(),
           commitment: config?.commitment
         }
       };
     }
   }
   ```

2. **Мониторинг делегирования стейка**
   ```typescript theme={null}
   interface StakeDelegationChange {
     previousMinDelegation: number;
     currentMinDelegation: number;
     change: number;
     metadata: {
       timestamp: number;
     };
   }

   class StakeDelegationMonitor {
     private previousMinDelegation: number | null = null;
     
     async monitorStakeDelegation(
       config?: { commitment?: string }
     ): Promise<StakeDelegationChange | null> {
       const currentMinDelegation = await connection.getStakeMinimumDelegation(config);
       
       if (this.previousMinDelegation === null) {
         this.previousMinDelegation = currentMinDelegation;
         return null;
       }
       
       if (this.previousMinDelegation !== currentMinDelegation) {
         const change: StakeDelegationChange = {
           previousMinDelegation: this.previousMinDelegation,
           currentMinDelegation,
           change: currentMinDelegation - this.previousMinDelegation,
           metadata: {
             timestamp: Date.now()
           }
         };
         
         this.previousMinDelegation = currentMinDelegation;
         return change;
       }
       
       return null;
     }
   }
   ```

3. **Планирование делегирования стейка**
   ```typescript theme={null}
   interface StakeDelegationPlan {
     minDelegation: number;
     recommendations: Array<{
       amount: number;
       description: string;
       inSOL: number;
     }>;
     metadata: {
       timestamp: number;
     };
   }

   class StakeDelegationPlanner {
     private readonly tiers = [
       { multiplier: 1.1, description: 'Minimum recommended' },
       { multiplier: 2, description: 'Standard' },
       { multiplier: 5, description: 'Premium' }
     ];
     
     async planStakeDelegation(
       config?: { commitment?: string }
     ): Promise<StakeDelegationPlan> {
       const minDelegation = await connection.getStakeMinimumDelegation(config);
       
       const recommendations = this.tiers.map(tier => ({
         amount: minDelegation * tier.multiplier,
         description: tier.description,
         inSOL: (minDelegation * tier.multiplier) / 1e9
       }));
       
       return {
         minDelegation,
         recommendations,
         metadata: {
           timestamp: Date.now()
         }
       };
     }
   }
   ```
