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

# Como Usar getStakeMinimumDelegation

> Aprenda casos de uso, exemplos de código, parâmetros de requisição, estrutura de resposta e dicas para getStakeMinimumDelegation.

O método RPC [`getStakeMinimumDelegation`](https://www.helius.dev/docs/api-reference/rpc/http/getstakeminimumdelegation) retorna a quantidade mínima atual de lamports necessária para criar uma nova delegação de [stake](https://www.helius.dev/blog/how-to-stake-solana) na rede Solana. Este valor pode mudar ao longo do tempo devido à governança da rede ou atualizações.

## Casos de Uso Comuns

* **Validação de Quantidades de Stake:** Antes de criar uma nova conta de stake ou delegar stake, verifique esse valor para garantir que a delegação pretendida atenda ao requisito mínimo.
* **UI/UX de Staking:** Exibir a quantidade mínima de delegação para os usuários em interfaces de staking para orientar a sua entrada.
* **Scripts Automatizados de Staking:** Garantir que processos automatizados de staking usem uma quantidade de delegação válida.

## Parâmetros de Requisição

Este método tem um parâmetro opcional:

1. **`config`** (objeto, opcional): Objeto de configuração contendo o seguinte campo:
   * **`commitment`** (string, opcional): Especifica o [nível de compromisso](https://www.helius.dev/blog/solana-commitment-levels) a ser usado ao consultar o valor. Se omitido, o compromisso padrão do nó RPC é usado (geralmente `finalized`).

## Estrutura de Resposta

O campo `result` da resposta JSON-RPC é um objeto `RpcResponse` contendo:

* **`context`** (objeto): Um objeto `RpcResponseContext` com o seguinte campo:
  * **`slot`** (`u64`): O slot no qual os dados foram recuperados.
* **`value`** (`u64`): A quantidade mínima de delegação de stake em lamports.

**Exemplo de Resposta:**

```json theme={"system"}
{
  "jsonrpc": "2.0",
  "result": {
    "context": { "slot": 123456789 },
    "value": 1000000000 // Represents 1 SOL, for example
  },
  "id": 1
}
```

## Exemplos

### 1. Obter a Delegação Mínima Atual de Stake

Este exemplo busca a quantidade mínima de delegação de stake atual usando o compromisso padrão.

<CodeGroup>
  ```bash cURL theme={"system"}
  # Replace <api-key> with your Helius API key
  curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
    '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getStakeMinimumDelegation"
    }'
  ```

  ```javascript JavaScript (using @solana/web3.js) theme={"system"}
  // Replace <api-key> with your Helius API key
  const { Connection } = require('@solana/web3.js');

  async function getMinimumDelegation() {
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    try {
      const minDelegation = await connection.getStakeMinimumDelegation();
      console.log(`Current minimum stake delegation: ${minDelegation} lamports`);
      // The raw response includes context:
      // const fullResponse = await connection.getStakeMinimumDelegation('confirmed'); // Example with commitment
      // console.log(JSON.stringify(fullResponse, null, 2));
    } catch (error) {
      console.error('Error fetching stake minimum delegation:', error);
    }
  }

  getMinimumDelegation();
  ```
</CodeGroup>

### 2. Obter Delegação Mínima de Stake com Compromisso Específico

<CodeGroup>
  ```bash cURL theme={"system"}
  # Replace <api-key> with your Helius API key
  curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
    '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getStakeMinimumDelegation",
      "params": [
        {
          "commitment": "confirmed"
        }
      ]
    }'
  ```

  ```javascript JavaScript (using @solana/web3.js) theme={"system"}
  // Replace <api-key> with your Helius API key
  const { Connection } = require('@solana/web3.js');

  async function getMinimumDelegationConfirmed() {
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    try {
      const minDelegationResponse = await connection.getStakeMinimumDelegation('confirmed');
      console.log(`Confirmed minimum stake delegation: ${minDelegationResponse.value} lamports at slot ${minDelegationResponse.context.slot}`);
    } catch (error) {
      console.error('Error fetching confirmed stake minimum delegation:', error);
    }
  }

  getMinimumDelegationConfirmed();
  ```
</CodeGroup>

## Dicas para Desenvolvedores

* **Lamports vs. SOL:** O valor retornado é em lamports. Lembre-se de que 1 SOL = 1.000.000.000 lamports.
* **Valor Dinâmico:** A quantidade mínima de delegação está sujeita a mudanças pelos parâmetros da rede. É aconselhável consultar esse valor periodicamente ou antes de operações críticas em vez de codificá-lo. Saiba mais sobre [staking](https://www.helius.dev/blog/how-to-stake-solana) em nosso guia detalhado.
* **Níveis de Compromisso:** O uso de diferentes níveis de compromisso pode afetar o quão atualizado o valor retornado é. `finalized` fornece a maior certeza, enquanto `processed` pode fornecer um valor mais novo que ainda não foi totalmente confirmado pelo cluster.

Este guia deve ajudá-lo a usar efetivamente o método RPC `getStakeMinimumDelegation` para recuperar a delegação mínima de stake exigida no Solana.
