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

# Bytecode.isValidJumpDest

> Check if specific position is a valid JUMPDEST

<Card title="Try it Live" icon="play" href="https://playground.tevm.sh?example=primitives/bytecode.ts">
  Run Bytecode examples in the interactive playground
</Card>

<Tabs>
  <Tab title="C">
    ## `bool bytecode_is_valid_jump_dest(bytecode_t bytecode, size_t pc)`

    Check if specific position is valid JUMPDEST.

    **Parameters:**

    * `bytecode: bytecode_t` - Bytecode to check
    * `pc: size_t` - Program counter (position to check)

    **Returns:** `bool` - `true` if position is valid JUMPDEST

    **Example:**

    ```c theme={null}
    #include <voltaire/primitives.h>

    bytecode_t bc = bytecode_from_hex("0x5b60005b", allocator);

    bool valid0 = bytecode_is_valid_jump_dest(bc, 0);  // true  - JUMPDEST at start
    bool valid1 = bytecode_is_valid_jump_dest(bc, 1);  // false - PUSH1 opcode
    bool valid2 = bytecode_is_valid_jump_dest(bc, 2);  // false - PUSH1 data
    bool valid3 = bytecode_is_valid_jump_dest(bc, 3);  // true  - JUMPDEST at end
    ```

    **Defined in:** [primitives.h](https://github.com/evmts/voltaire/blob/main/src/primitives.h)
  </Tab>
</Tabs>

## See Also

* [analyzeJumpDestinations](/primitives/bytecode/analyzejumpdestinations) - Get all valid JUMPDEST positions
