Esta página tem finalidade somente informativa. Alguns serviços e recursos podem não estar disponíveis em sua região.
Este artigo foi traduzido automaticamente do seu idioma original.

O que é um contrato inteligente?

Um contrato inteligente (smart contract) é um programa implantado em uma rede blockchain que é executado conforme as regras do seu código quando uma transação ou outro programa o chama. Ele pode ler dados de entrada e dados registrados na cadeia, verificar condições predefinidas e, quando a execução é concluída, atualizar os dados que a blockchain armazena.

A palavra "inteligente" não significa que o programa pense por conta própria, e "contrato" não garante que ele constitua um contrato no sentido jurídico. O nome destaca algo mais restrito: os participantes podem escrever um conjunto de regras de funcionamento em forma de código, processado conforme o protocolo pelos nós que executam o software da blockchain e verificam transações, em vez de um único servidor decidir o resultado sozinho.

Primeiro distinga código, estado e chamada

O código define quais operações o programa pode realizar e quais condições cada operação exige. O estado são os dados que o programa mantém atualmente na cadeia, como saldos, titulares, parâmetros ou autorizações. A transação ou chamada fornece o remetente, a função e os dados de entrada daquela execução específica e faz o programa ler ou alterar o estado.

O mesmo código pode produzir resultados diferentes com entradas diferentes ou diante de um estado atual distinto. Por isso, "executar conforme o código" não significa que um contrato devolva sempre a mesma resposta, mas que, sob as mesmas regras da cadeia, o mesmo estado atual, os mesmos dados da transação e o mesmo contexto de execução, os validadores devem chegar ao mesmo resultado. O contexto de execução inclui quem chamou, o horário do bloco e outras informações que o protocolo fornece para aquela execução.

Um contrato também não desperta por conta própria para consultar a hora, um preço ou um acontecimento do mundo real. Normalmente ele espera uma transação ou uma mensagem do protocolo. Se o programa precisa de informações fora da cadeia — um preço de mercado, a previsão do tempo, o resultado de uma partida —, um mecanismo de dados como um oráculo precisa enviá-las primeiro para a cadeia. Um contrato só pode executar com os dados que recebe: ele não consegue provar sozinho que uma informação externa é verdadeira.

O problema que os contratos inteligentes endereçam

Em uma aplicação comum, a lógica principal costuma rodar em servidores controlados por quem desenvolve ou presta o serviço. As pessoas enviam solicitações ao servidor, que lê um banco de dados, aplica as regras e devolve um resultado. Quem opera esse servidor pode atualizar o programa, alterar permissões do banco de dados ou encerrar o serviço.

Um contrato inteligente move parte dessa lógica e desse estado para o ambiente de execução compartilhado da blockchain. Quando a rede confirma uma transação que atende às condições, os nós calculam o resultado com o mesmo conjunto de regras e gravam as mudanças de estado válidas no registro. Os participantes podem verificar a transação e o resultado de forma independente, em vez de depender apenas dos registros fornecidos pelo backend de uma aplicação.

Isso não significa que a aplicação deixe de precisar de operadores ou servidores. Site, aplicativo móvel, indexação de dados, notificações e atendimento podem continuar vindo de sistemas centralizados, e o próprio contrato pode manter permissões administrativas. Para julgar como uma aplicação é controlada, examine separadamente o programa na cadeia, os serviços fora da cadeia que não rodam na blockchain e as chaves que podem usar permissões administrativas.

Da implantação à execução

As blockchains não usam todas o mesmo nome nem o mesmo tratamento para contratos inteligentes, mas o processo geralmente passa por implantação, chamada, execução e registro.

Implantar o programa na rede

Quem desenvolve primeiro escreve o programa em uma linguagem compatível com a rede e depois converte o código para uma forma que o ambiente de execução dessa rede consiga processar. A implantação normalmente acontece por meio de uma transação específica; depois da confirmação pela rede, o programa recebe um identificador na cadeia que outras contas ou programas podem chamar.

Quem implanta pode definir dados e permissões iniciais no programa: quem pode pausar uma função, alterar um parâmetro ou aprovar uma atualização. Não todos os contratos têm essas permissões, e elas não desaparecem automaticamente porque o código é chamado de "contrato inteligente".

Uma pessoa ou um programa envia uma chamada

A pessoa normalmente inicia uma transação por uma carteira ou pela interface de uma aplicação, indicando a função a ser chamada e os dados de entrada. Outro contrato inteligente também pode chamá-lo durante a execução, combinando vários programas em uma única operação.

O nome do botão ou o aviso da carteira exibido antes da chamada é apenas a interpretação que a interface faz da transação. O que realmente é enviado são dados codificados. Se a interface os exibe de forma incompleta, conecta-se a um endereço errado ou oculta permissões adicionais, o efeito real da assinatura pode ser diferente do que a pessoa acreditava aprovar.

Os nós executam e verificam o resultado

As redes organizam de maneiras diferentes "quem executa primeiro e quem verifica depois". Em muitas cadeias públicas orientadas à execução, os nós validadores reexecutam ou conferem a execução do contrato sob as mesmas regras para confirmar as mudanças de estado produzidas pela transação. O programa lê o estado atual e os dados de entrada, verifica as condições em ordem e calcula um resultado.

No Ethereum, por exemplo, os contratos inteligentes são chamados por transações e executados na Máquina Virtual Ethereum. No Hyperledger Fabric, um programa equivalente se chama chaincode: os nós que atendem à política de endosso primeiro simulam a execução e assinam o resultado; depois, os nós peer do canal conferem as assinaturas de endosso e os registros de leitura e escrita, e só as transações verificadas atualizam o estado atual. Uma política de endosso é simplesmente a regra pela qual os membros da rede definem com antecedência quais organizações precisam aprovar um resultado. Essas diferenças mostram que "contrato inteligente" nomeia uma categoria de programas, não a implementação específica de uma única cadeia pública.

Gravar estado ou devolver uma leitura

Uma chamada que altera o estado da cadeia precisa ser confirmada como transação. Um programa pode atualizar o saldo de um token, registrar uma autorização ou mudar quem detém um item digital. Quando a execução falha, a mudança de estado esperada normalmente não entra em vigor, mas quem enviou ainda pode arcar com a taxa de processamento já consumida pela rede; as regras específicas são definidas pela rede.

Ler um estado existente geralmente não exige uma nova transação na cadeia. Uma aplicação pode consultar um nó sobre um saldo, um parâmetro ou um registro, e o nó devolve o resultado localmente. Como o estado compartilhado não muda, essa leitura não precisa de reconfirmação por toda a rede. Ainda assim, redes e provedores podem estabelecer regras próprias de consulta ou de custo.

Diferença em relação a um contrato comum

Um contrato inteligente é, antes de tudo, um programa; um contrato comum é, antes de tudo, um acordo jurídico entre partes. Os dois podem estar relacionados — as partes podem usar um programa para fazer um pagamento ou registrar o cumprimento de uma obrigação —, mas nomes parecidos não os tornam iguais por natureza.

O que um programa consegue avaliar são os dados que seu código pode ler e as condições expressas de forma explícita. Ele não necessariamente entende a intenção real das partes, não resolve cláusulas ambíguas, não identifica fraude nem determina uma reparação no mundo real. Se um resultado na cadeia corresponde a um direito, e como uma controvérsia é resolvida, depende do acordo concreto e das regras aplicáveis; isso não se deduz do nome dado ao código.

O inverso também vale: um contrato jurídico não precisa usar um contrato inteligente. Ele pode ser registrado e cumprido por sistemas tradicionais. Para avaliar a relação entre os dois, pergunte separadamente o que o código faz de fato e qual acordo jurídico ou de serviço as partes firmaram além dele.

Diferença em relação a uma aplicação descentralizada

Um contrato inteligente geralmente é apenas uma parte de uma aplicação descentralizada. Uma aplicação descentralizada (decentralized application, DApp) pode incluir também uma interface web ou móvel, uma conexão de carteira, bancos de dados fora da cadeia, armazenamento de arquivos e serviços de dados.

Quando alguém clica em "trocar" em uma página web, a interface apresenta os ativos e os parâmetros, a carteira permite conferir a solicitação e assiná-la, o contrato inteligente aplica as regras na cadeia e os nós verificam a transação. Um erro em qualquer dessas camadas pode afetar o resultado final.

Portanto, um contrato implantado em uma blockchain não torna descentralizada a aplicação inteira. Um domínio de frontend pode ser desativado, um serviço de dados pode devolver informações erradas e um administrador pode manter permissões de atualização ou de pausa. Avaliar uma aplicação envolve examinar seus componentes e quem os controla.

É possível modificar ou atualizar um contrato

Algumas blockchains mantêm inalterado o código de um contrato implantado, mas isso não significa que a lógica da aplicação nunca possa ser atualizada. Quem desenvolve pode implantar um novo contrato e migrar as pessoas que o usam, ou adotar uma estrutura de proxy em que um ponto de entrada fixo encaminha as chamadas para um contrato de lógica substituível.

A capacidade de atualização pode servir para corrigir falhas ou acrescentar funções. Ela também significa que certas contas, esquemas de assinatura múltipla ou processos de governança podem ter poder para alterar o comportamento do programa. A existência de um direito de atualização, quem pode exercê-lo, se há período de espera e se as pessoas conseguem sair são pontos a verificar na estrutura e nas permissões do contrato específico.

Mesmo quando o código não pode ser modificado, um administrador ainda pode alterar resultados por meio de parâmetros, listas de permissão, um botão de pausa ou uma fonte de dados externa. Por outro lado, a ausência de permissões de atualização não reduz os riscos: uma falha que não pode ser corrigida pode persistir por muito tempo.

Usos comuns

Os contratos inteligentes permitem combinar ativos e dados da cadeia sob regras uniformes. Entre os usos comuns:

  • registrar emissão, saldos, transferências e autorizações de um token sob regras uniformes;
  • trocar ativos conforme as regras de quantidade e preço escritas no programa;
  • gerenciar garantia, empréstimo e pagamento de ativos, incluindo sua liquidação quando as condições deixam de ser atendidas;
  • registrar o identificador de itens digitais e a relação de titularidade;
  • gerenciar ativos por meio de múltiplas assinaturas ou permissões por função;
  • aplicar mudanças de parâmetros a partir do resultado de uma votação na cadeia.

Esses são tipos de programa e não indicam que um contrato específico seja sólido, adequado ou apropriado para alguém. Programas do mesmo tipo podem ter permissões, fontes de dados e formas de atualização completamente diferentes.

Limites e riscos

Escrever regras como código executável também leva para a cadeia os erros de código e o desenho de permissões. Entre os limites comuns:

  • Falhas de código: erros de condição, de cálculo ou de verificação de permissões podem levar ao tratamento incorreto de ativos ou dados.
  • Permissões administrativas: administradores, contas de atualização ou participantes de uma assinatura múltipla podem pausar ou alterar o programa.
  • Dados externos: quando um oráculo fornece dados errados, atrasados ou manipulados, o contrato pode executar normalmente sobre uma entrada equivocada.
  • Dependências de composição: quando um contrato chama outros, falhas, atualizações ou mudanças nos ativos disponíveis a montante podem se propagar a jusante.
  • Ordem das transações: outros participantes da rede podem ver uma transação pendente antes da confirmação e enviar operações relacionadas primeiro, mudando as condições que a transação original enfrenta no fim.
  • Interfaces e assinaturas: páginas maliciosas, endereços errados ou pedidos de autorização pouco claros podem levar alguém a assinar uma operação não pretendida.
  • Custo de execução: cálculos complexos e armazenamento na cadeia podem exigir taxas mais altas; a transação pode falhar se as taxas forem insuficientes ou as condições não forem atendidas.

Código público também não é o mesmo que código compreensível. O que é executado na blockchain pode ser bytecode compilado, ou seja, as instruções de baixo nível lidas pelo ambiente de execução. Mesmo quando um projeto publica um código-fonte mais legível, uma pessoa sem especialização terá dificuldade para confirmar que ele corresponde ao programa na cadeia, que foi suficientemente testado, ou se um proxy aponta atualmente para outra lógica.

Uma auditoria de segurança pode revelar parte dos problemas, mas não prova que um contrato não tem falhas e não elimina os riscos trazidos por administradores, dados externos, condições de mercado ou assinaturas das pessoas. Avaliar um programa específico exige olhar além de um selo de "auditado".

Perguntas frequentes

Contratos inteligentes rodam automaticamente?

Eles executam conforme o código, mas normalmente ainda precisam de uma transação, de outro contrato ou de uma mensagem do protocolo para serem acionados. Implantar um contrato não significa que ele vá monitorar o mundo real e iniciar todas as operações por conta própria.

Todos os contratos inteligentes são públicos?

Não necessariamente. Em blockchains públicas, os nós geralmente conseguem ler o código executado e os dados das transações, mas o código-fonte não é sempre publicado ou verificado. Redes permissionadas podem ainda restringir quais membros visualizam dados e chamam programas.

Um contrato não pode ser alterado depois de implantado?

Não necessariamente. O código original pode permanecer inalterado, mas uma aplicação pode migrar para um novo contrato ou substituir a lógica por meio de um proxy e de permissões administrativas. É preciso verificar a estrutura de atualização específica, em vez de confiar na comunicação sobre imutabilidade.

Um contrato inteligente pode ler dados de um site diretamente?

Em geral ele não pode tratar conteúdo web comum como entrada confiável na cadeia. Ele precisa de um oráculo, de um participante autorizado ou de outro mecanismo que envie os dados, e essas fontes criam dependências adicionais.

Uma execução bem-sucedida significa que a operação estava correta?

Não. Uma execução bem-sucedida indica apenas que a transação atendeu ao código vigente e às regras da rede. Ela não prova que o código corresponde à intenção da pessoa, que os dados externos estavam corretos, que as permissões foram configuradas de forma razoável, nem que o programa não tem falhas econômicas ou de segurança.

Conceitos relacionados

Continue com blockchain, bloco, taxa de gas e nó de blockchain, ou volte ao glossário de criptomoedas.

Fontes

Aviso legal
Este conteúdo é fornecido apenas para fins informativos e pode incluir produtos que não estão disponíveis na sua região. Não se trata de (i) consultoria ou recomendação de investimento; (ii) uma oferta ou solicitação para comprar, vender ou manter criptoativos ou ativos digitais; nem (iii) orientação financeira, contábil, jurídica ou fiscal. A posse de criptoativos ou ativos digitais, incluindo stablecoins, envolve riscos elevados e pode sofrer grandes variações de valor. Você deve avaliar cuidadosamente se negociar ou manter esses ativos é adequado para a sua situação financeira. Em caso de dúvida, consulte um profissional jurídico, fiscal ou de investimentos. As informações (incluindo dados de mercado e informações estatísticas, se houver) que aparecem nesta postagem têm caráter exclusivamente informativo. Embora esta publicação tenha sido escrita com todo o cuidado em relação aos dados e gráficos, não nos responsabilizamos por quaisquer erros na descrição ou omissão dos fatos, tampouco pelas opiniões aqui contidas.

© 2025 OKX. Este artigo pode ser reproduzido ou distribuído na íntegra, ou trechos de até 100 palavras podem ser usados, desde que não haja fins comerciais. Caso o artigo completo seja reproduzido ou redistribuído, é obrigatório informar claramente: “Este artigo é © 2025 OKX e está sendo utilizado com permissão.” Trechos permitidos devem citar o nome do artigo e incluir a atribuição, como: "Nome do artigo, [nome do autor, se aplicável], © 2025 OKX." Alguns conteúdos podem ter sido criados com o apoio de ferramentas de inteligência artificial (IA). Não são permitidos trabalhos derivados ou outros usos deste artigo.

Artigos relacionados

Ver mais
crypto-glossary-cover-v5.contentful

Glossário de cripto de A a Z: blockchain e trading

Conheça conceitos essenciais de cripto, blockchain e trading em definições breves, organizadas pelo termo em inglês e acompanhadas do nome em português. [A](#a) · [B](#b) · [C](#c) · [D](#d) · [E](#e)
29 de out. de 2026
Crypto adoption generic thumbnail

O que é DeFi?

Finanças descentralizadas (decentralized finance, DeFi) são um tipo de aplicação que oferece funções financeiras como troca de ativos e empréstimo, principalmente por meio de blockchains e contratos i
29 de out. de 2026
decentralized-exchange-dex

O que é uma DEX?

Uma exchange descentralizada (decentralized exchange, DEX) é um tipo de sistema de negociação que permite trocar ativos digitais por meio de protocolos de blockchain ou contratos inteligentes. Um cont
29 de out. de 2026
thumbnail:dao

O que é uma DAO?

Uma organização autônoma descentralizada (decentralized autonomous organization, DAO) é um modo de organização em que várias pessoas decidem em conjunto, administram recursos ou mantêm um projeto conf
29 de out. de 2026
DApps generic thumb

O que é uma DApp?

Uma aplicação descentralizada (decentralized application, DApp) é uma aplicação que entrega parte de suas regras ou de seu estado essenciais — por exemplo saldos, titularidade e registros de autorizaç
29 de out. de 2026
crypto-token

O que é um token de criptomoeda?

Um token de criptomoeda é uma unidade digital definida por um protocolo de blockchain ou por um programa on-chain, que pode ser registrada e transferida por meio de uma blockchain. Uma blockchain pode
29 de out. de 2026
Ver mais