Skip to content

OP_LESSTHAN ​

INFO

Opcode number: 159
Byte representation: 0x9f
Short description: Pop the top two items; push 1 if the second is less than the top, 0 otherwise.

OP_LESSTHAN compares the top two items on the stack as integers. If the second item is less 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 (a and b) 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_LESSTHAN is executed, the script will fail.

Examples ​

Example 1: Second item is less than the top item ​

shell
# ASM script
OP_2 OP_3 OP_LESSTHAN

# Raw script
52539f

# Stack (before OP_LESSTHAN)
3  # top
2

# Stack (after OP_LESSTHAN)
1  # true, as 2 < 3

Example 2: Second item is greater than the top item ​

shell
# ASM script
OP_3 OP_2 OP_LESSTHAN

# Raw script
53529f

# Stack (before OP_LESSTHAN)
2  # top
3

# Stack (after OP_LESSTHAN)
[]  # false, as 3 is not less than 2

Example 3: Comparing two zeros ​

shell
# ASM script
OP_0 OP_0 OP_LESSTHAN

# Raw script
00009f

# Stack (before OP_LESSTHAN)
[]  # top
[]

# Stack (after OP_LESSTHAN)
[]  # false, as 0 is not less than 0