Cobre pelo que a chamada custou. Devolva o resto, automaticamente.
A Extracta vende extração de documentos como API — notas, contratos e PDFs escaneados virando JSON estruturado. Um recibo de uma página e um contrato de quarenta custam valores bem diferentes para processar, então um preço fixo por chamada ou cobra caro demais no job fácil, ou perde dinheiro no difícil. Com o Meter, o agente que chama a API assina um teto de gasto antes da chamada rodar, a Extracta mede as páginas e o tempo de computação reais contra esse teto, e a diferença não usada volta on-chain no instante em que o job termina. O recibo é reselado com o número real, não com a estimativa inicial.
A chamada fecha no que custou de verdade, não no teto assinado.
Um job de extração, ponta a ponta: o agente assina um teto de US$ 0,80 antes da chamada rodar, a API da Extracta mede páginas processadas e tempo de computação contra esse teto, e no instante em que o job termina, o saldo não usado volta on-chain. O recibo é reselado com o número real medido, não com o teto inicial.
- O teto é assinado antes da chamada rodar — a API não consegue cobrar além dele
- O uso real, páginas processadas e tempo de computação, é medido contra o teto, não estimado
- A diferença não usada volta on-chain no instante em que o job fecha, sem fatura, sem disputa
Extrair os itens de um contrato de fornecedor com 40 páginas, com teto de US$ 0,80.
Assinando um teto de US$ 0,80 para esse job — medindo as páginas processadas contra ele, e devolvendo o que sobrar quando a extração terminar.
A conversa é a parte fácil.
API cobrada por uso vive no chute. Um preço fixo por chamada ou cobra caro demais nos jobs fáceis, ou perde dinheiro nos difíceis, e ninguém descobre qual até a fatura fechar no fim do mês. Quem vende infla o preço para cobrir o pior caso; quem chama paga por capacidade que nunca usou; contestar uma diferença é um chamado de suporte, não um protocolo.
Cobrar todo job com preço fixo, inflado para cobrir o pior caso
O agente assina um teto de gasto do tamanho do job real, antes de rodar
Correr atrás de diferença nos jobs difíceis com fatura manual
codespar_meter mede o uso real contra o teto enquanto a chamada roda
Deixar quem chama pagar a mais em todo job fácil para cobrir a média
A diferença entre o teto e o uso real volta on-chain automaticamente
Conciliar uma chamada contestada na mão contra os logs do servidor
O recibo é reselado com o número medido, não com a estimativa
Preço pela chamada, liquidado pelo loop de máquina.
codespar_meter assina o teto de gasto antes da chamada rodar, mede o uso real enquanto a API executa, e liquida a diferença on-chain no instante em que o job termina. O Meter não tem preço próprio — ele roda dentro da liquidação do codespar_pay, então a Extracta paga a mesma taxa de 1% do Gate sobre o valor real medido, não sobre o teto.
Job de extração enviado
codespar_meterTeto de US$ 0,80 assinado
Meter40 páginas · 61s de computação
codespar_meterUS$ 0,34 medidos contra o teto
Metercodespar_payUS$ 0,46 devolvidos on-chain · recibo reselado
Liquidação GateO agente que chama abre uma sessão e assina um teto de gasto antes da extração rodar. A API da Extracta mede o uso real — páginas processadas, tempo de computação — contra esse teto enquanto o job executa. Quando termina, o codespar_pay liquida sobre o valor medido e devolve o saldo não usado on-chain automaticamente; o recibo é reselado com o número real sob a taxa de liquidação de 1% do Gate. Esse loop de máquina está construído de ponta a ponta e mergeado, rodando em beta atrás de uma flag enquanto as últimas rodadas de verificação em mainnet terminam.
Algumas linhas. O loop inteiro.
const session = await codespar.sessions.create(); const job = await session.execute("codespar_meter", { cap: 0.80, currency: "USDC", metric: "pages_processed", provider: "extracta", }); const result = await extracta.extract({ file: contractPdf, capToken: job.capToken, }); // Extracta reports real usage back through the same cap await session.execute("codespar_meter", { capToken: job.capToken, usage: { pages: 40, computeSeconds: 61 }, }); // codespar_pay settles on the metered amount, refunds the rest on-chain const receipt = await session.execute("codespar_pay", { capToken: job.capToken }); // receipt.amount === "$0.34" · receipt.refunded === "$0.46" · sealed
codespar_meterAssina o teto de gasto antes da chamada rodar e mede o uso real contra ele enquanto o job executa.
codespar_payLiquida sobre o valor medido e devolve o teto não usado on-chain, sob a taxa de 1% do Gate.
codespar_ledgerResela o recibo com o número real medido assim que o uso fecha.
Coloque no ar ainda hoje.
Abra o sandbox, aponte uma sessão para os seus provedores e rode o loop inteiro contra rails reais em minutos — não no trimestre que levaria para construir tudo na mão.