Automatize seus loops de jogos on-chain
Games for Pennies
Tudo que voce precisa para automacao on-chain
Um protocolo completo para automacao de smart contracts descentralizada, com permissoes e eficiente em custos.
Execucao de loops descentralizada
Workers off-chain detectam automaticamente quando seu contrato esta pronto e executam os loops do jogo. Sem servidores centralizados, sem pontos unicos de falha.
Aleatoriedade verificavel integrada
Geracao nativa de provas ECVRF e verificacao on-chain. Aleatoriedade comprovadamente justa em cada tick para dados, drops de loot e mais — sem oraculos externos.
Hybrid VRF — Aleatoriedade quando voce precisa
Ticks com custo padrao e VRF apenas quando seu contrato solicita. Seu jogo decide quando a aleatoriedade importa — drops de loot, acertos criticos, spawns — e paga gas de VRF apenas nesses ticks. ~$0.009/tick combinado com 10% VRF.
Modelo de pagamento por execucao
Pague apenas quando os loops realmente executam. Reembolso de gas mais uma pequena taxa base dividida entre protocolo e controladores.
Amigavel ao desenvolvedor
Funcoes simples, hooks diretos. Contratos de exemplo incluidos.
Multi-rede
Faca deploy na Ethereum mainnet, testnet Sepolia ou Anvil local para desenvolvimento. Configuravel por rede com ferramentas de deploy automaticas.
Com permissoes e seguro
O controle de acesso baseado em funcoes garante que apenas controladores registrados possam acionar loops. Verificacao VRF on-chain impede manipulacao.
Every Loop Here Fails the Self-Trigger Test
Games, agents, DeFi, AI — each for a different structural reason. Not design choices. Proofs.
Inverted self-interest
Every VRF tick picks a random floor and damages it. No floor owner will ever trigger the loop — it might hit their own asset. A neutral keeper is the only viable operator.
Nobody should hold the trigger
A dead man's switch that transfers your vault to a beneficiary if you miss a check-in window. The whole point is that no human should control when it fires.
Front-running attack surface
VRF selects winners from a registered pool on schedule. If player-controlled, the trigger holder knows who wins before calling. AutoLoop fires first, asks questions never.
Timing as attack surface
The high bidder wants the auction closed now. Counter-bidders want an extension. No player-controlled trigger is fair — proving the problem extends far beyond randomness.
4-way coordination failure
Third hop in KaijuLeague → KaijuOracle → ForecasterLeaderboard. Adversarial timing, cross-contract dependency, free-rider gas, prize-pool timing attack — no single player resolves all four.
Neutral on-chain schedule
An LLM agent that runs off-chain and acts on-chain every N blocks. The agent itself shouldn't decide when it fires — its operator, users, and rivals all have conflicting interests.
Funcionando em 4 passos
Do contrato ao loop de jogo automatizado em minutos, nao meses.
Herdar
Estenda um dos tres contratos base:
- •AutoLoopCompatible — automacao pura
- •AutoLoopHybridVRFCompatible — aleatoriedade seletiva (loot, crits, spawns)
- •AutoLoopVRFCompatible — aleatoriedade em cada tick
Implementar
Adicione shouldProgressLoop() para sinalizar disponibilidade e progressLoop() para executar a logica do seu jogo.
Registrar e financiar
Registre seu contrato on-chain e deposite ETH para cobrir gas e taxas.
Deixe rodar
Workers detectam e executam seus loops automaticamente. Relaxe e veja seu jogo ganhar vida.
Jogos por centavos
Tres niveis de automacao on-chain — de execucao pura a Full VRF em cada tick. Veja quanto cada um custa nos precos atuais de gas.
Detalhamento de taxas
Simples por design
Integre o Autoloop com apenas duas funcoes. Aqui esta um contrato completo e funcional.
1// SPDX-License-Identifier: MIT2pragma solidity ^0.8.13;34// Import the base contract that makes any5// contract compatible with AutoLoop workers6import {AutoLoopCompatible} from7 "autoloop/AutoLoopCompatible.sol";89// A simple demo: number goes up every interval10contract NumberGoUp is AutoLoopCompatible {11 uint256 public number;12 uint256 public interval;13 uint256 public lastTimeStamp;14 uint256 private _loopID;1516 constructor(uint256 _interval) {17 interval = _interval;18 lastTimeStamp = block.timestamp;19 }2021 // Workers call this every block to check22 // if the contract is ready for an update23 function shouldProgressLoop()24 external view override25 returns (26 bool loopIsReady,27 bytes memory progressWithData28 )29 {30 // Ready when enough time has passed31 loopIsReady =32 (block.timestamp - lastTimeStamp) > interval;33 // Pass loop ID to prevent duplicate runs34 progressWithData = abi.encode(_loopID);35 }3637 // Called by AutoLoop when shouldProgressLoop38 // returns true — this is your update logic39 function progressLoop(40 bytes calldata progressWithData41 ) external override {42 uint256 loopID =43 abi.decode(progressWithData, (uint256));44 // Guard against stale or replayed calls45 require(loopID == _loopID, "stale loop");46 lastTimeStamp = block.timestamp;47 ++number;48 ++_loopID;49 }50}Veja como nos comparamos ao Chainlink
Tres modos de automacao — Standard, Hybrid VRF e Full VRF — tudo em um protocolo. Sem assinaturas separadas. Mais barato que Chainlink em todos os niveis.