Sualojanopiloto automático

Liste contas, compre com saldo e entregue credenciais automaticamente — tudo via uma API REST simples. Monte um bot de Discord ou integre o catálogo no seu site em minutos. Os preços e dados já saem prontos, 100% sob a sua marca.

17 endpoints

REST v1

Entrega

automática

8 jogos

no catálogo

PIX

saldo via API

Compra automática

Debita o saldo e devolve as credenciais na mesma resposta. Indisponível? Reembolso na hora.

Feito para bots

Ideal para revender no Discord. Autenticação por Bearer token e respostas JSON limpas.

Saldo via PIX

Gere depósitos PIX e consulte o status programaticamente, sem sair da sua aplicação.

100% white-label

Nenhum dado do fornecedor é exposto. Tudo sai sob a marca Legas Forn.

Introdução

Todas as requisições partem da URL base abaixo. As respostas são sempre em JSON e trazem o campo success indicando sucesso (true) ou falha (false).

GET/api/v1

Todos os valores monetários estão em reais (BRL) e os preços já refletem o valor final de venda. O endpoint raiz acima é público e retorna a lista de recursos — ótimo para um health-check da sua integração.

{
  "success": true,
  "name": "Legas Forn API",
  "version": "1.0",
  "status": "online",
  "currency": "BRL",
  "endpoints": { "...": "..." }
}

Autenticação

A API usa chaves no formato Bearer token. Gere a sua em Dashboard → API / Revenda. A chave começa com lf_live_ e é exibida apenas uma vez — guarde-a em local seguro. Envie-a no cabeçalho de toda requisição autenticada:

curl https://legasforn.com.br/api/v1/wallet \
  -H "Authorization: Bearer lf_live_sua_chave_aqui"

Nunca exponha sua chave no frontend (navegador). Use-a apenas no servidor da sua aplicação ou no seu bot. Se a chave vazar, revogue-a imediatamente no painel.

Erros e limites

Em caso de erro, a resposta tem success: false e um objeto error com code e message. O limite é de 120 requisições por minuto por chave.

{
  "success": false,
  "error": {
    "code": "insufficient_balance",
    "message": "Saldo insuficiente. Necessário R$ 179.01, disponível R$ 20.00."
  }
}
HTTPcodeSignificado
200successSucesso
400invalid_*Parâmetro ausente ou inválido
401invalid_tokenChave ausente, inválida ou revogada
402insufficient_balanceSaldo insuficiente na carteira
403account_frozenConta suspensa
404not_foundRecurso não encontrado
410soldConta já vendida / indisponível
429rate_limitedMuitas requisições
500internal_errorErro interno
503service_unavailableServiço temporariamente indisponível

Listar jogos

GET/api/v1/games

Retorna os jogos disponíveis e os slug aceitos no parâmetro game dos demais endpoints.

curl https://legasforn.com.br/api/v1/games \
  -H "Authorization: Bearer lf_live_sua_chave_aqui"

Listar contas

GET/api/v1/accounts?game={jogo}&page=1&perPage=24

Retorna o catálogo de contas disponíveis. Aceita também filtros de preço e ordenação (mesmos da loja). O campo item_id de cada conta é o identificador usado para ver detalhes e comprar.

ParâmetroTipoDescrição
gamestring (obrigatório)Slug do jogo. Use GET /api/v1/games para a lista completa.
pagenumberPágina atual. Padrão: 1.
perPagenumberItens por página (máx. 50). Padrão: 20.
priceFrom / priceTonumberFiltro de faixa de preço (BRL).
orderstringOrdenação (ex.: price_asc, price_desc).

IDs oficiais dos jogos

valorant fortnite steam roblox league-of-legends clash-royale genshin-impact brawl-stars

A API também aceita aliases populares: cs2 e csgo redirecionam para steam; lol redireciona para league-of-legends. Contas de CS2 e CS:GO ficam dentro do catálogo steam.

curl "https://legasforn.com.br/api/v1/accounts?game=fortnite&perPage=24" \
  -H "Authorization: Bearer lf_live_sua_chave_aqui"
{
  "success": true,
  "game": "fortnite",
  "page": 1,
  "perPage": 24,
  "total": 636,
  "totalPages": 27,
  "hasMore": true,
  "accounts": [
    {
      "item_id": "xFoVPEt",
      "title": "215 Skins | 239 Picaretas | Lvl 3234",
      "price": 179.01,
      "warranty": "Full Acesso",
      "skins": 215,
      "pickaxes": 239
    }
  ]
}

Ver uma conta

GET/api/v1/accounts/{item_id}?game={jogo}

Retorna os detalhes completos de uma conta específica, usando o item_id da listagem.

curl "https://legasforn.com.br/api/v1/accounts/xFoVPEt?game=fortnite" \
  -H "Authorization: Bearer lf_live_sua_chave_aqui"

Skins da conta

GET/api/v1/accounts/{item_id}/skins?game={jogo}

Lista os cosméticos/skins da conta com nome e URL da imagem, ideal para exibir previews ou baixar as imagens no seu bot/loja. As imagens vêm de fontes públicas oficiais dos jogos.

curl "https://legasforn.com.br/api/v1/accounts/xFoVPEt/skins?game=fortnite" \
  -H "Authorization: Bearer lf_live_sua_chave_aqui"

Verificar conta

POST/api/v1/verify

Confere se uma conta ainda está disponível e válida antes de revender — perfeito para checar estoque no seu bot/site. A resposta é um status simplificado, sem expor nenhuma mensagem da origem.

ParâmetroTipoDescrição
accountIdstringID da conta a verificar (obrigatório).
gamestringJogo da conta (opcional). Fortnite não tem verificação automática.
curl -X POST "https://legasforn.com.br/api/v1/verify" \
  -H "Authorization: Bearer lf_live_sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -d '{ "accountId": "xFoVPEt", "game": "valorant" }'

O campo status pode ser available (disponível), unavailable (vendida/removida) ou checker_unavailable (verificador em manutenção — a conta ainda pode estar válida).

Comprar conta

POST/api/v1/purchase

Compra uma conta usando o saldo da sua carteira. A entrega é automática: a resposta já traz as credenciais em account. Se a conta ficar indisponível, o valor é reembolsado automaticamente.

ParâmetroTipoDescrição
accountIdstring (obrigatório)O item_id retornado na listagem.
gamestring (obrigatório)Slug do jogo da conta.
curl -X POST "https://legasforn.com.br/api/v1/purchase" \
  -H "Authorization: Bearer lf_live_sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -d '{"accountId": "xFoVPEt", "game": "fortnite"}'
{
  "success": true,
  "orderId": "a1b2c3d4-...",
  "delivered": true,
  "price": 179.01,
  "account": {
    "login": "usuario123",
    "password": "senha-secreta",
    "extra_info": "informações adicionais",
    "email_login": "conta@email.com",
    "email_password": "senha-do-email",
    "email_url": "https://...",
    "twofa_secret": "BASE32SECRET",
    "username": "nick"
  }
}

Consultar carteira

GET/api/v1/wallet

Retorna o saldo atual e as últimas transações da sua carteira.

curl "https://legasforn.com.br/api/v1/wallet" \
  -H "Authorization: Bearer lf_live_sua_chave_aqui"

Adicionar saldo (PIX)

POST/api/v1/wallet/deposit

Gera um depósito PIX para adicionar saldo à carteira. A resposta traz o código copia e cola e o QR Code. Valor entre R$ 2,00 e R$ 1.000,00.

ParâmetroTipoDescrição
amountnumber (obrigatório)Valor em BRL (2 a 1000).
payerNamestring (obrigatório)Nome completo do pagador.
payerDocumentstring (obrigatório)CPF do pagador (apenas números).
curl -X POST "https://legasforn.com.br/api/v1/wallet/deposit" \
  -H "Authorization: Bearer lf_live_sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -d '{"amount": 100, "payerName": "Joao Silva", "payerDocument": "12345678900"}'
GET/api/v1/wallet/deposit/{depositId}

Verifica o status do depósito. Quando status for completed, o saldo já foi creditado. Outros valores: pending, expired.

curl "https://legasforn.com.br/api/v1/wallet/deposit/dep_1718..." \
  -H "Authorization: Bearer lf_live_sua_chave_aqui"

Listar pedidos

GET/api/v1/orders?page=1&perPage=20

Retorna o histórico de pedidos da sua conta (feitos pela web ou pela API).

curl "https://legasforn.com.br/api/v1/orders?page=1&perPage=20" \
  -H "Authorization: Bearer lf_live_sua_chave_aqui"

Detalhe do pedido (com 2FA)

GET/api/v1/orders/{id}

Retorna o pedido com as credenciais entregues e, quando aplicável, o código 2FA / Steam Guard atual já calculado (campo twofa). Perfeito para reenviar o login ao cliente no Discord.

curl "https://legasforn.com.br/api/v1/orders/a1b2c3d4-..." \
  -H "Authorization: Bearer lf_live_sua_chave_aqui"

Reembolso de conta não entregue

Se uma conta foi comprada mas não foi entregue (falha durante a entrega), você pode solicitar o reembolso pelo endpoint abaixo. O saldo é devolvido à carteira automaticamente. Este endpoint é idempotente — chamar várias vezes nunca credita em dobro.

POST/api/v1/orders/{id}/refund

Reembolso automático

Mesmo sem chamar este endpoint, o sistema verifica automaticamente a cada 5 minutos se há pedidos travados. Pedidos em paid há mais de 15 minutos são reembolsados automaticamente. Use este endpoint para forçar o reembolso antes disso.

ParâmetroTipoDescrição
idstring (path)ID do pedido a reembolsar (orderId retornado na compra).
curl -X POST "https://legasforn.com.br/api/v1/orders/a1b2c3d4-.../refund" \
  -H "Authorization: Bearer lf_live_sua_chave_aqui"
HTTPSignificado
200Reembolso processado (ou já havia sido reembolsado antes — idempotente).
409Pedido já entregue — não é reembolsável.
425Pedido com menos de 15 min — ainda pode estar em entrega. Tente mais tarde.
404Pedido não encontrado ou não pertence à sua chave.

Lucro e financeiro

GET/api/v1/stats?period=30d

Painel financeiro completo da sua conta: saldo atual, total depositado, total gasto, economia obtida com descontos/cupons, bônus recebidos e o resumo das compras por jogo. Ideal para acompanhar o lucro e o desempenho da sua revenda.

ParâmetroTipoDescrição
periodstringJanela de tempo: 7d, 30d, 90d, all ou uma data ISO (YYYY-MM-DD). Padrão: 30d.
curl "https://legasforn.com.br/api/v1/stats?period=30d" \
  -H "Authorization: Bearer lf_live_sua_chave_aqui"

Cupons de desconto

Crie e gerencie seus próprios cupons promocionais para usar nas suas vendas. Os cupons são percentuais (até 20%) e podem ter validade, valor mínimo, limite de usos e restrição por jogo.

GET/api/v1/coupons
POST/api/v1/coupons
GET/api/v1/coupons/{code}
DELETE/api/v1/coupons/{code}

Criar um cupom

ParâmetroTipoDescrição
codestringCódigo do cupom, 3 a 20 caracteres (letras e números).
discountPercentnumberPercentual de desconto (1 a 20).
minOrderValuenumberValor mínimo do pedido (opcional, mín. R$10).
maxUsesnumberLimite de usos (opcional, máx. 1000, padrão 100).
expiresAtstringData de expiração ISO 8601 (opcional).
gamesstring[]Restringe a jogos específicos (opcional).
curl -X POST "https://legasforn.com.br/api/v1/coupons" \
  -H "Authorization: Bearer lf_live_sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -d '{
    "code": "PROMO10",
    "discountPercent": 10,
    "minOrderValue": 50,
    "maxUses": 200,
    "expiresAt": "2026-12-31T23:59:59Z",
    "games": ["valorant", "steam"]
  }'

Por segurança, só são aceitos cupons percentuais de até 20%. Você pode ter no máximo 50 cupons por conta. Cupons removidos são desativados (o histórico de uso é mantido).

Exemplo: bot de Discord

Um bot completo com discord.js que lista contas e vende com um comando de barra. A entrega das credenciais é enviada por DM ao comprador.

import { Client, GatewayIntentBits, REST, Routes, SlashCommandBuilder } from "discord.js"

const API = "https://legasforn.com.br/api/v1"
const KEY = process.env.LEGAS_API_KEY // sua chave lf_live_...

const headers = {
  Authorization: `Bearer ${KEY}`,
  "Content-Type": "application/json",
}

const client = new Client({ intents: [GatewayIntentBits.Guilds] })

// Registra os comandos /contas e /comprar
const commands = [
  new SlashCommandBuilder().setName("contas").setDescription("Lista contas à venda")
    .addStringOption(o => o.setName("jogo").setDescription("ex.: fortnite").setRequired(true)),
  new SlashCommandBuilder().setName("comprar").setDescription("Compra uma conta")
    .addStringOption(o => o.setName("id").setDescription("item_id").setRequired(true))
    .addStringOption(o => o.setName("jogo").setDescription("ex.: fortnite").setRequired(true)),
].map(c => c.toJSON())

const rest = new REST({ version: "10" }).setToken(process.env.DISCORD_TOKEN)
await rest.put(Routes.applicationCommands(process.env.DISCORD_APP_ID), { body: commands })

client.on("interactionCreate", async (i) => {
  if (!i.isChatInputCommand()) return

  if (i.commandName === "contas") {
    const jogo = i.options.getString("jogo")
    const r = await fetch(`${API}/accounts?game=${jogo}&perPage=5`, { headers })
    const { accounts } = await r.json()
    const lista = accounts.map(a => `\`${a.item_id}\` — ${a.title} — R$ ${a.price}`).join("\n")
    await i.reply({ content: lista || "Nenhuma conta encontrada.", ephemeral: true })
  }

  if (i.commandName === "comprar") {
    await i.deferReply({ ephemeral: true })
    const accountId = i.options.getString("id")
    const game = i.options.getString("jogo")
    const r = await fetch(`${API}/purchase`, {
      method: "POST", headers,
      body: JSON.stringify({ accountId, game }),
    })
    const data = await r.json()
    if (!data.success) return i.editReply(`Falha: ${data.error.message}`)
    const c = data.account
    await i.user.send(
      `Compra aprovada! Pedido ${data.orderId}\n` +
      `Login: ${c.login}\nSenha: ${c.password}\n${c.email_login ? "E-mail: " + c.email_login : ""}`
    )
    await i.editReply("Conta entregue na sua DM!")
  }
})

client.login(process.env.DISCORD_TOKEN)

Exemplo: loja / site

Em qualquer backend (Next.js, Express, PHP...), faça a compra no servidor — nunca exponha a chave no navegador. Exemplo de uma rota de checkout que revende com a sua própria margem:

// app/api/comprar/route.ts (seu site)
export async function POST(req) {
  const { accountId, game } = await req.json()

  const r = await fetch("https://legasforn.com.br/api/v1/purchase", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.LEGAS_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ accountId, game }),
  })
  const data = await r.json()
  if (!data.success) {
    return Response.json({ erro: data.error.message }, { status: 400 })
  }

  // Aqui você registra a venda no SEU banco, aplica sua margem,
  // envia e-mail ao cliente, etc.
  return Response.json({ pedido: data.orderId, conta: data.account })
}

Dica de revenda: consulte o preço com /accounts, aplique sua margem e cobre o cliente no seu próprio gateway. Você paga o valor base com seu saldo e fica com a diferença.

Prompts para IA

Quer construir mais rápido? Cole um destes prompts no v0, ChatGPT, Claude ou Cursor — eles já incluem o contexto da API para gerar código funcional.

Crie um bot de Discord em discord.js (v14) que usa a API REST da Legas Forn.

Base URL: https://legasforn.com.br/api/v1
Auth: header "Authorization: Bearer <LEGAS_API_KEY>" (variável de ambiente).
Envelope: respostas têm { success: true|false }. Erros: { success:false, error:{ code, message } }.

Endpoints:
- GET /games -> { games:[{slug,name}] }
- GET /accounts?game={slug}&perPage=10 -> { accounts:[{item_id,title,price}] }
- POST /purchase  body {accountId, game} -> { success, orderId, account:{login,password,email_login} }
- GET /wallet -> { balance }

Comandos slash:
/saldo  -> mostra o saldo da carteira
/contas jogo:<slug> -> lista 10 contas com id, título e preço
/comprar id:<item_id> jogo:<slug> -> compra e envia as credenciais por DM (resposta efêmera no canal)

Trate erros mostrando error.message. Não exponha a chave em logs.

Pronto para começar a revender?

Gere sua chave de API agora e faça a primeira venda automática em minutos.

Criar minha chave de API
@legasforn
Comunidade