Skip to content

OP_GREATERTHAN

INFO

Opcode number: 160
Byte representation: 0xa0
Short description: Pop the top two items; push 1 if the second is greater than the top, 0 otherwise.

OP_GREATERTHAN compares the top two items on the stack as integers. If the second item is greater than the top item, it pushes 1 (true) onto the stack. If not, it pushes an empty array (false). Both items are removed from the stack after the comparison.

Operation

  1. Take the top item (a) and the second item (b) from the stack.
  2. Compare the two items:
    • If b > a, push 1 (true) onto the stack.
    • Otherwise, push an empty array (false) onto the stack.
  3. Remove the original items from the stack.

Notes

  • Both items must be valid integers. Bitcoin Script interprets byte arrays up to 4 bytes as integers.
  • An empty array ([]) is treated as 0 when compared.
  • If there are fewer than two items on the stack when OP_GREATERTHAN is executed, the script will fail.

Examples

Example 1: Second item is greater than the top item

shell
# ASM script
OP_3 OP_2 OP_GREATERTHAN

# Raw script
5352a0

# Stack (before OP_GREATERTHAN)
2  # top
3

# Stack (after OP_GREATERTHAN)
1  # true, as 3 > 2

Example 2: Comparing two zeros

shell
# ASM script
OP_PUSHBYTES_1 00 OP_0 OP_GREATERTHAN

# Raw script
0100009f

# Stack (before OP_GREATERTHAN)
[] # top (zero)
0  # second (zero)

# Stack (after OP_GREATERTHAN)
[]  # false