- Início
- Estudos de caso
- Marketplace Trio
Bitcoin · Marketplace · PSBT
Marketplace Trio
Trabalhei com a equipa da OrdinalsBot no fluxo transacional full-stack do Trio, transformando anúncios e compras em PSBTs assináveis pela carteira e liquidadas em Bitcoin.
- Produto
- O Trio, um marketplace com livro de ordens para negociar inscrições Bitcoin e Ordinals sem entregar os ativos ao saldo de uma plataforma custodial.
- Âmbito da entrega
- Interface do marketplace, integração de API, estado da carteira, PSBTs de anúncio e compra, assinatura, transmissão e recuperação de transações.
- Evidência pública
- 4fontes públicas
Condicionantes do projeto
- 01O vendedor mantém o controlo da inscrição até à liquidação
- 02A proveniência do ativo e os UTXOs Bitcoin têm de permanecer intactos
- 03Duas carteiras podem rejeitar, alterar ou abandonar o fluxo
O desafio
Tornar compreensível uma transação Bitcoin entre várias partes sem esconder os UTXOs, as assinaturas e os estados de falha que a tornam segura.
Um cartão de marketplace e um botão de compra são apenas a parte visível de uma negociação em Bitcoin. Por baixo, o vendedor tem de aprovar termos exatos sem transferir a inscrição para um custodiante. O comprador financia depois uma transação compatível, assina os inputs que controla e transmite uma transação que preserva o ativo acordado e os outputs de pagamento. Trabalhei em todo esse percurso, incluindo os estados de interface necessários quando uma carteira está desligada, uma assinatura é recusada, um anúncio está desatualizado ou uma transação ainda não foi confirmada.
Arquitetura e decisões
Termos do anúncio codificados numa PSBT
O fluxo de anúncio associava o input da inscrição, o pagamento ao vendedor, o preço e os termos do marketplace numa transação parcialmente assinada. O vendedor podia aprovar esses termos com a sua carteira, mantendo a custódia do ativo.
Construção da transação de compra
O fluxo de compra combinava o input do anúncio aprovado pelo vendedor com os inputs de financiamento do comprador e os outputs necessários. Essa construção tinha de preservar a inscrição, o preço, as taxas, o troco e as regras de inputs e outputs da Bitcoin antes de pedir a assinatura do comprador.
Estados de produto ligados à carteira
Liguei a construção da transação à interface do marketplace para que os utilizadores distinguissem ligação, validação, assinatura, transmissão, mempool, confirmação, cancelamento e falha, em vez de verem um único estado de carregamento otimista.
Reconciliação após a transmissão
Uma transação assinada não era tratada como uma negociação concluída. O estado do marketplace tinha de acompanhar a transação durante a transmissão e confirmação e, depois, expirar ou reconciliar anúncios que já não podiam ser liquidados tal como tinham sido construídos.
My role
-
01
Trabalhei full-stack com a equipa da OrdinalsBot no percurso de anúncio e compra do marketplace.
-
02
Implementei a construção de transações PSBT nos anúncios dos vendedores, financiamento dos compradores, assinaturas de carteira e transmissão para a rede Bitcoin.
-
03
Liguei as regras transacionais do backend a estados de interface claros para rejeições da carteira, anúncios desatualizados, erros de validação, visibilidade na mempool e confirmação.
-
04
Mantive a autocustódia e os termos exatos da transação visíveis no produto, em vez de os esconder atrás de um saldo custodial.
O que mudou
Um marketplace Bitcoin ativo onde os termos do vendedor, os fundos do comprador, as assinaturas, a transmissão e a confirmação continuam a ser partes visíveis da transação.
O marketplace público do Trio apresenta um produto de negociação ativo, enquanto a documentação da OrdinalsBot descreve o modelo com livro de ordens baseado em PSBT e as respetivas APIs. Essas fontes comprovam o produto e o modelo transacional; o meu papel foi o trabalho full-stack com PSBT que ligou as ações da carteira, o estado do marketplace e a liquidação em Bitcoin num único fluxo utilizável.
- Os vendedores podiam anunciar uma inscrição assinando termos transacionais definidos, sem depositar primeiro o ativo numa conta do marketplace.
- Os compradores podiam concluir a negociação através de uma PSBT de compra assinada pela carteira, construída a partir do input aprovado pelo vendedor e dos seus próprios fundos.
- A interface acompanhava o estado da transação durante a validação, assinatura, transmissão e confirmação, em vez de indicar sucesso demasiado cedo.
Ferramentas e tecnologias
Fontes