O Bitcoin Script é uma lista de instruções lidas da esquerda para a direita. Cada instrução é um opcode: um único byte que diz ao intérprete o que fazer. Empurrões de dados colocam bytes (como uma assinatura ou chave pública) numa pilha; outros opcodes retiram elementos da pilha, trabalham neles e empurram um resultado.
Exemplos
OP_DUPcopia o elemento do topo da pilha.OP_HASH160substitui o elemento do topo pelo seu hash SHA-256 e depois RIPEMD-160.OP_EQUALVERIFYfaz falhar o script a menos que os dois elementos do topo sejam iguais.OP_CHECKSIGverifica uma assinatura digital face a uma chave pública.OP_RETURNmarca uma saída como comprovadamente não gastável, muitas vezes usada para embutir pequenos pedaços de dados.
Opcodes desativados e reservados
Em 2010 vários opcodes, como OP_CAT e OP_MUL, foram desativados para evitar bugs de negação de serviço. Opcodes «NOP» não usados foram depois redefinidos por soft fork: OP_NOP2 tornou-se OP_CHECKLOCKTIMEVERIFY e OP_NOP3 tornou-se OP_CHECKSEQUENCEVERIFY. Em Tapscript, opcodes não usados chamam-se OP_SUCCESS e tornam atualizações futuras mais simples.