Skip to content

OP_DUP ​

INFO

Opcode number: 118
Byte representation: 0x76
Short description: Duplicate the top item on the stack.

OP_DUP is used to duplicate the top item on the stack, pushing a copy of it onto the stack. This opcode is frequently used in Bitcoin scripts to create copies of data, especially for validation purposes like signature checking.

Operation ​

  1. Copy the top item from the stack.
  2. Push this copy onto the stack, making it the new top item.

Notes ​

  • OP_DUP is commonly used in scripts like Pay-to-PubKeyHash (P2PKH) to duplicate the public key for signature verification.
  • If the stack is empty when OP_DUP is executed, the script will fail.

Example ​

Duplicating the top item when there are multiple items on the stack:

shell
# ASM script
OP_1 OP_2 OP_DUP

# Raw script
515276

# Stack (before OP_DUP)
2
1

# Stack (after OP_DUP)
2  # duplicated item
2
1