Outra - Web, Mobile & Software
| Orçamento: Aberto |
Publicado: |
Propostas: 19
Sobre o projeto
Estou desenvolvendo um marketplace offchain de gifts do Telegram operando como Telegram Mini App. O conceito é similar ao que Tonnel, Portals e GiftON fazem: uma plataforma onde usuários depositam, compram, vendem e sacam Telegram Gifts, com saldo interno em TON e custódia centralizada via bot.
O frontend (Mini App em React/TypeScript) já está em desenvolvimento por minha conta. Preciso de um desenvolvedor backend sênior para construir toda a infraestrutura server-side, incluindo integração com a TON Blockchain e com as APIs do Telegram.
Este não é um CRUD simples. É um sistema de custódia de ativos digitais que precisa ser tratado com o mesmo rigor de uma exchange financeira.
Escopo Técnico Detalhado
1. Core Engine (API para o Mini App)
- API REST e/ou WebSocket para o frontend
- Autenticação via Telegram initData (validação criptográfica do WebApp)
- Gerenciamento de usuários, saldos internos, listagens e ordens
- State machine rigorosa por gift — cada gift transita por estados definidos (DEPOSIT_PENDING ? IN_CUSTODY ? LISTED ? SOLD_PENDING_DELIVERY ? DELIVERED, etc.)
- Orderbook com suporte a preço fixo (e futuramente leilões)
2. Bot Bridge (Interface com Telegram)
- Bot Telegram que recebe gifts dos usuários e os envia de volta (custódia)
- Utilização da Bot API para ações (enviar/receber gifts)
- Utilização de MTProto (GramJS) como canal de verificação independente do inventário
- Emissão de recibos assinados criptograficamente para cada operação
- Queue de delivery com retry e backoff exponencial (respeitando rate limits do Telegram)
- Contabilização do custo de ?25 Telegram Stars por transferência de gift
3. Ledger & Event Store
- Ledger de dupla entrada (double-entry accounting) — toda movimentação de TON gera débito e crédito correspondentes
- Event sourcing — log append-only de todos os eventos
- PostgreSQL com isolamento SERIALIZABLE
- Invariantes hard-coded: SUM(debits) == SUM(credits), MIN(balance) >= 0, escrow == SUM(pending_withdrawals)
4. Integração TON Blockchain
- Depósito de TON: monitoramento de transações incoming na wallet do marketplace
- Saque de TON: envio programático de TON para wallets externas dos usuários
- Hot/Warm Wallet Split: hot wallet com no máximo 20% dos fundos para operações diárias, warm wallet separada com 80% como reserva
- Integração com TON Connect para autenticação de wallet dos usuários no Mini App
- Gestão de fees de rede
5. Sistema de Segurança
- Verificação tripla de custódia: gift só é aceito quando Bot API + MTProto + Ledger concordam
- Compra atômica: lock de linha no gift + lock no saldo do comprador + débito/crédito + atualização de status, tudo em uma única transação com timeout de 5s
- Pre-flight checks antes de qualquer delivery (bot reachable, gift in inventory, rate limits OK, recipient válido)
- Fail-closed: qualquer ambiguidade resulta em pausa, nunca em operação
- Rate limits por usuário (compras, listagens, saques)
- Value limits e delays em saques (ex: acima de 500 TON = delay de 1h; acima de 2000 TON = delay de 6h)
- Notificações de segurança ao usuário (saque solicitado, saque processado, compra de alto valor)
6. Reconciliation & Monitoring
- Reconciliation engine a cada 5 minutos: compara custódia esperada (database) vs inventário real (Bot API)
- Monitoramento de invariantes a cada minuto: verifica integridade do ledger
- Qualquer divergência ? modo de incidente automático
7. Circuit Breakers
- Automáticos: mismatch de reconciliação ? pausa geral; taxa de falha de delivery > 10% ? pausa de compras
- Manuais: flags no Redis + endpoint admin para pause/resume
- Todas as operações checam flags antes de executar
8. Auditor Externo (Vigile)
- Serviço separado, rodando em infraestrutura isolada do Core
- Consome stream de eventos do Ledger + log de comandos do Bot Bridge
- Verifica que toda delivery corresponde a um estado válido no ledger
- Se detectar violação: corta comunicação entre Core e Bot Bridge
- Core não pode sobrescrever o Vigile
Requisitos Técnicos do Candidato
Obrigatórios:
- Experiência comprovada com Node.js/TypeScript em produção (sistemas financeiros, exchanges, ou custódia de ativos)
- Domínio avançado de PostgreSQL (transações SERIALIZABLE, row-level locking, event sourcing)
- Experiência com Telegram Bot API (grammy ou telegraf)
- Experiência com TON Blockchain (SDK, wallet management, monitoramento de transações)
- Conhecimento sólido de arquitetura de sistemas distribuídos (filas, idempotência, circuit breakers, reconciliação)
- Experiência com Redis (cache, flags, rate limiting, filas com BullMQ ou similar)
- Entendimento real de double-entry accounting aplicado a software
Altamente desejáveis:
- Experiência com GramJS / MTProto
- Experiência prévia com marketplaces de NFT ou gifts no ecossistema TON/Telegram
- Conhecimento de TON Connect para integração de wallet em Mini Apps
- Experiência com event sourcing e CQRS
- Familiaridade com HSM ou gerenciamento seguro de chaves criptográficas
Habilidades desejadas: Blockchain, NodeJS, PostgreSQL, Redis e Typescript.