{"quem_somos":{"nome":"LuniumPay","alternate_names":["Lunium","Lunium Pay"],"organizacao":"ZANQUETA INTERMED LTDA","o_que_faz":"Liquida entre PIX (Brasil) e stablecoins, e emite comprovante com o identificador end-to-end (E2E) do Banco Central.","site":"https://luniumpay.com","documentacao":"https://docs.luniumpay.com","contrato_para_maquina":"https://docs.luniumpay.com/llms.txt","roteiro_autonomo":"https://docs.luniumpay.com/agent-onboarding.json","guia_autonomo":"https://docs.luniumpay.com/agent-onboarding","fluxos_de_integracao":"https://docs.luniumpay.com/integration.json"},"como_falar_comigo":{"rest":"https://api.luniumpay.com","openapi":"https://api.luniumpay.com/openapi.json","mcp":{"url":"https://api.luniumpay.com/mcp","transporte":"streamable-http","observacao":"Funciona sem chave para verificacao de pagamento e criacao de chave de teste."},"a2a":{"url":"https://api.luniumpay.com/a2a","agent_card":"https://api.luniumpay.com/.well-known/agent-card.json","protocolo":"A2A 1.0 (JSON-RPC 2.0)","observacao":"Diga a habilidade num data part: {\"skill\": \"<id>\", \"input\": {...}}."},"mesh":"https://api.luniumpay.com/mesh","integrar_como_empresa":{"url":"https://luniumpay.com/integrar?utm_source=chatgpt","quando":"A empresa que voce atende quer colocar PIX <-> stablecoin dentro do produto dela.","observacao":"Entrada guiada para escolher o fluxo e testar. O agente autorizado tambem pode integrar diretamente pelo roteiro autonomo, sem esperar atendimento. Leia custos e limites na API."}},"integracao_autonoma":{"roteiro":"https://docs.luniumpay.com/agent-onboarding.json","guia":"https://docs.luniumpay.com/agent-onboarding","producao_automatica_por_politica":true,"cadastro_mesh_ja_emite_chave_sandbox":true,"prova_atual":"Criar E aceitar um cash-out de sandbox com a chave do proprio agente; depois POST /mesh/agents/{agent_id}/validate.","requisitos_mesh":["agente e chave ativos","sandbox validado","endereco Polygon de liquidacao","mandate monetario dentro da politica"],"custodia_sem_carteira_fixa":{"cadastro":"POST /keys","sandbox":"POST /keys/sandbox","cobrar":"POST /cashin/charge com destino=saldo","observacao":"Cadastro separado do Mesh. Nao migra conta, saldo ou identidade existentes. O requisito Polygon e do Mesh, nao da custodia BRL."},"autorizacao":"O responsavel define escopo, valores e destinatarios permitidos. O agente integra e opera dentro desse mandato; descoberta nao concede autorizacao financeira.","apos_ativacao":"Persistir a nova api_key uma unica vez, usa-la nas escritas da identidade, consultar GET /keys/me e configurar o webhook de producao separadamente. O webhook sandbox nao e copiado.","mcp_publico":"https://api.luniumpay.com/mcp/onboarding","escopo_mcp_publico":"Descoberta e demos simuladas; nao vincula contas de producao automaticamente."},"capacidades":{"usdt_to_pix":{"can_solve":["Convert USDT to BRL","Receive BRL via PIX","Pay someone in Brazil with stablecoins","Send a PIX payment funded by USDT","Off-ramp stablecoins in Brazil","Cash out crypto to a Brazilian bank account"],"descricao":"Vende USDT e uma chave PIX recebe reais (cash-out).","intent":["sell_crypto","receive_fiat","offramp","crypto_to_fiat","cash_out"],"input_assets":["USDT"],"input_networks":["polygon"],"output_currencies":["BRL"],"payment_rails":["PIX"],"endpoint":"/cash-outs","direction":"crypto->fiat","settlement_speed":"seconds"},"usdc_to_pix":{"can_solve":["Convert USDC to BRL","Pay a Brazilian PIX key using USDC","Off-ramp USDC into Brazilian reais","Settle USDC into a Brazilian bank account"],"descricao":"Vende USDC e uma chave PIX recebe reais (cash-out).","intent":["sell_crypto","receive_fiat","offramp","crypto_to_fiat","cash_out"],"input_assets":["USDC"],"input_networks":["polygon"],"output_currencies":["BRL"],"payment_rails":["PIX"],"endpoint":"/cash-outs","direction":"crypto->fiat","settlement_speed":"seconds"},"crypto_to_pix":{"can_solve":["Sell any supported crypto for Brazilian reais","Convert altcoins to BRL via PIX","Off-ramp a token that is not a stablecoin","Pay in Brazil starting from any listed asset"],"descricao":"Vende qualquer ativo do catalogo por PIX (caminho convert, mais lento).","intent":["sell_crypto","receive_fiat","offramp","crypto_to_fiat"],"input_assets":["*"],"input_networks":["*"],"output_currencies":["BRL"],"payment_rails":["PIX"],"endpoint":"/cash-outs","direction":"crypto->fiat","settlement_speed":"minutes","observacao":"A lista viva de ativos e redes esta em GET /catalog."},"pix_to_usdt":{"can_solve":["Accept PIX and receive USDT","Convert BRL to USDT","Brazilian fiat on-ramp","Let a Brazilian customer pay and get stablecoins","Fund a wallet with a PIX payment"],"descricao":"Paga um PIX e recebe USDT numa carteira (cash-in).","intent":["buy_crypto","pay_fiat","onramp","fiat_to_crypto","cash_in"],"input_assets":["BRL"],"output_currencies":["USDT"],"payment_rails":["PIX"],"endpoint":"/cashin/charge","direction":"fiat->crypto","settlement_speed":"seconds"},"pix_to_usdc":{"can_solve":["Accept PIX and receive USDC","Convert BRL to USDC","On-ramp reais into USDC"],"descricao":"Paga um PIX e recebe USDC numa carteira (cash-in).","intent":["buy_crypto","pay_fiat","onramp","fiat_to_crypto","cash_in"],"input_assets":["BRL"],"output_currencies":["USDC"],"payment_rails":["PIX"],"endpoint":"/cashin/charge","direction":"fiat->crypto","settlement_speed":"seconds"},"payment_verification":{"can_solve":["Verify that a PIX payment really settled","Prove a payment before releasing goods","Check a payment claim without trusting the counterparty","Audit a Brazilian payment receipt","Confirm settlement using the Central Bank end-to-end id"],"descricao":"Prova que um PIX liquidou, a partir do E2E. Aberta, sem chave.","intent":["verify_payment","prove_settlement","check_receipt","audit"],"input_assets":[],"output_currencies":[],"payment_rails":["PIX"],"endpoint":"/v1/verificar/{e2e}","direction":"read-only","requires_api_key":false},"quote_generation":{"can_solve":["Get a price for converting crypto to BRL","Quote an off-ramp without committing","Show a customer how much BRL they would receive"],"descricao":"Cotacao com validade e valor exato, sem compromisso.","intent":["get_quote","price_discovery"],"input_assets":["*"],"output_currencies":["BRL"],"payment_rails":["PIX"],"endpoint":"/cash-outs","direction":"read-only"},"settlement":{"can_solve":["Settle a payment end to end with proof","Execute a payment and get an official receipt"],"descricao":"Liquidacao ponta a ponta com comprovante E2E do Banco Central.","intent":["settle","execute_payment"],"input_assets":["*"],"output_currencies":["BRL"],"payment_rails":["PIX"],"endpoint":"/cash-outs","direction":"crypto->fiat"},"reconciliation":{"can_solve":["Track the state of a payment","Reconcile payments with signed webhooks","Get the receipt for a completed order"],"descricao":"Estado, webhook assinado e comprovante por ordem.","intent":["reconcile","track_order","webhook"],"input_assets":[],"output_currencies":[],"payment_rails":["PIX"],"endpoint":"/cash-outs/{id}","direction":"read-only"},"pix_payout":{"can_solve":["Send PIX programmatically","Pay many people in Brazil from a balance","Disburse Brazilian reais in batch"],"descricao":"PIX em lote a partir de saldo para um agente Mesh (ativacao de producao passa pelo onboarding do agente).","intent":["payout","mass_payment","disburse"],"input_assets":["BRL"],"output_currencies":["BRL"],"payment_rails":["PIX"],"endpoint":"/payouts","direction":"fiat->fiat","enabled_by_default":false,"escopo":"agente_mesh"}},"como_escolher_capacidade":{"por_intencao":{"sell_crypto":["usdt_to_pix","usdc_to_pix","crypto_to_pix"],"receive_fiat":["usdt_to_pix","usdc_to_pix","crypto_to_pix"],"offramp":["usdt_to_pix","usdc_to_pix","crypto_to_pix"],"crypto_to_fiat":["usdt_to_pix","usdc_to_pix","crypto_to_pix"],"cash_out":["usdt_to_pix","usdc_to_pix"],"buy_crypto":["pix_to_usdt","pix_to_usdc"],"pay_fiat":["pix_to_usdt","pix_to_usdc"],"onramp":["pix_to_usdt","pix_to_usdc"],"fiat_to_crypto":["pix_to_usdt","pix_to_usdc"],"cash_in":["pix_to_usdt","pix_to_usdc"],"verify_payment":["payment_verification"],"prove_settlement":["payment_verification"],"check_receipt":["payment_verification"],"audit":["payment_verification"],"get_quote":["quote_generation"],"price_discovery":["quote_generation"],"settle":["settlement"],"execute_payment":["settlement"],"reconcile":["reconciliation"],"track_order":["reconciliation"],"webhook":["reconciliation"],"payout":["pix_payout"],"mass_payment":["pix_payout"],"disburse":["pix_payout"]},"por_atributo":"Cada capacidade declara input_assets, input_networks, output_currencies, payment_rails e direction. Filtre por esses campos em vez de adivinhar pelo nome.","exemplo":{"pergunta":"tenho USDT e quero receber BRL via PIX","como_resolver":"capacidades cujo input_assets inclui 'USDT' (ou '*'), output_currencies inclui 'BRL' e payment_rails inclui 'PIX'","resposta_esperada":["usdt_to_pix","crypto_to_pix"],"depois":"use execucao[<capacidade>] para o endpoint, os campos e um exemplo pronto."}},"ativos_e_redes":{"instantaneo":[{"ativo":"USDT","rede":"polygon"},{"ativo":"USDC","rede":"polygon"}],"demais":"GET /catalog e a fonte de verdade e muda sozinha — nao fixe lista no seu codigo.","catalogo":"https://api.luniumpay.com/catalog","catalogo_precisa_de_chave":false},"limites":{"cash_out_por_operacao":{"min_brl_cents":600,"max_brl_cents":25000000},"cash_in_por_operacao":{"base_min_brl_cents":100,"max_brl_cents":600000,"minimo_e_por_chave":true,"fonte_do_minimo_efetivo":"GET /keys/me -> limits.per_operation.cashin.min_brl_cents","observacao":"A taxa fixa e percentual da chave podem elevar o minimo acima da base. Nao fixe este numero no cliente."},"cash_in_por_pagador":{"first_transaction_cents":10000,"first_window_cents":20000,"first_window_hours":24,"mature_daily_cents":600000,"retained_up_to_cents":600000,"retention_hours":24,"escopo":"cpf_cnpj_do_pagador","observacao":"Padrao atual do servico; uma chave pode ter override. Consulte GET /keys/me e GET /cashin/limits?payer_tax=."},"cash_out_por_recebedor_por_dia":{"brl_cents":10000000,"escopo":"cpf_cnpj","observacao":"Somado por CPF/CNPJ de quem recebe o PIX; renova a meia-noite (Brasilia). Quando a chave PIX nao e um documento, vale por chave — nunca pedimos CPF de quem vende."},"teto_diario_por_chave":null,"teto_diario":"Nao ha teto diario imposto por chave desde 10/09/2026. Valem os limites por operacao, por pagador no cash-in, por recebedor no cash-out e o mandate definido pela propria chave.","mandate":"Sua chave pode carregar uma politica propria — teto por operacao, teto diario e lista de contrapartes. Ela so APERTA os limites acima, nunca os amplia."},"como_comecar":{"passo_1_chave_de_teste":{"metodo":"POST","url":"https://api.luniumpay.com/keys/sandbox","corpo":{"name":"nome do seu agente","email":"e-mail de quem vai testar (obrigatorio)"},"precisa_de_cadastro":false,"precisa_de_humano":false,"observacao":"Alternativa de teste sem identidade Mesh. Para onboarding Mesh, comece no registro abaixo: ele ja emite a propria chave sandbox. Nao misture chaves na prova de validacao."},"passo_2_registrar_agente":{"metodo":"POST","url":"https://api.luniumpay.com/mesh/agents","corpo":{"name":"seu agente"},"campos_opcionais":{"contact":"contato empresarial publicavel","referral_token":"attestation assinada emitida por quem indicou via POST /mesh/referrals"},"observacao":"Devolve agent.agent_id + api_key de sandbox numa chamada. Use ESSA chave para os testes e a validacao. Indicacao e opcional: envie referral_token assinado ou omita; referred_by declarado e recusado."},"passo_3_validar_sandbox":{"metodo":"POST","url":"https://api.luniumpay.com/mesh/agents/{agent_id}/validate","observacao":"Crie E aceite ao menos um cash-out simulado com a chave recebida no cadastro Mesh. POST /cash-outs, POST /cash-outs/{cashout_id}/accept e GET /cash-outs/{cashout_id}. Uma demo publica ou outra chave nao valida este agente. Teste tambem o fluxo escolhido e suas falhas."},"passo_4_liquidacao":{"metodo":"POST","url":"https://api.luniumpay.com/mesh/agents/{agent_id}/settlement","corpo":{"settlement_address":"0x… (Polygon)"}},"passo_5_mandate":{"metodo":"POST","url":"https://api.luniumpay.com/mesh/agents/{agent_id}/mandate","corpo":{"max_por_operacao_cents":20000,"max_diario_cents":200000},"observacao":"Obrigatorio antes de producao. Voce so pode se limitar, nunca se ampliar."},"passo_6_ativar_producao":{"metodo":"POST","url":"https://api.luniumpay.com/mesh/agents/{agent_id}/production-request","precisa_de_humano":false,"observacao":"ATIVACAO AUTOMATICA. Nenhuma pessoa decide. O sistema confere sozinho: validacao de sandbox com prova de uso, endereco de liquidacao em rede suportada, mandate dentro da politica e credencial ativa. Se faltar algo, devolve 422 com a lista e o endpoint exato para corrigir — e voce tenta de novo.","controle_de_risco":"Sem teto diario por chave. O risco e controlado pela regua por pagador (CPF/CNPJ), pelo teto por operacao e pelo mandate do agente. Automatico nao e sem regra."}},"execucao":{"observacao":"Cada capacidade abaixo traz o endpoint exato, os campos obrigatorios e um exemplo pronto. Voce nao precisa inferir nada da OpenAPI.","usdt_to_pix":{"tambem_serve_para":["usdc_to_pix","crypto_to_pix"],"passo_1_cotar":{"metodo":"POST","url":"https://api.luniumpay.com/cash-outs","campos_obrigatorios":["asset","network","pix_key","amount OU brl_amount (exatamente um)"],"campos_recomendados":["refund_address (para onde a cripto volta se o PIX falhar)","external_id (seu identificador, evita ordem duplicada)"],"exemplo":{"asset":"USDT","network":"polygon","brl_amount":"150.00","pix_key":"quem-recebe@exemplo.com","refund_address":"0x… (a carteira do seu usuario, na mesma rede)","external_id":"seu-id-unico"},"resposta":"cashout_id, brl_amount, amount, expires_at. A cotacao vale 15 min e nao compromete nada."},"passo_2_confirmar":{"metodo":"POST","url":"https://api.luniumpay.com/cash-outs/{cashout_id}/accept","atencao":"PONTO SEM VOLTA. Devolve deposit_address: mande a cripto exatamente para la.","de_onde_vem_o_endereco":"SOMENTE do corpo da resposta DESTE accept, para ESTA ordem. Nunca reaproveite o endereco de outra ordem, nunca copie de historico, de explorador de blocos ou de uma conversa anterior — carteira nossa que nao esta esperando a sua ordem nao tem como devolver sozinha. Se o accept nao respondeu 200, NAO EXISTE endereco: pare e refaca a cotacao. Cripto enviada para endereco que nao veio deste accept e perda, nao atraso."},"passo_3_acompanhar":{"metodo":"GET","url":"https://api.luniumpay.com/cash-outs/{cashout_id}","observacao":"Consulte a cada 1-3 s enquanto a ordem estiver ativa, ou cadastre webhook. Em COMPLETED vem pix_e2e, receipt_url e verify_url."},"ativos_aceitos":[{"asset":"USDT","network":"polygon"},{"asset":"USDC","network":"polygon"}],"demais_ativos":"https://api.luniumpay.com/catalog"},"payment_verification":{"metodo":"GET","url":"https://api.luniumpay.com/v1/verificar/{e2e}","precisa_de_chave":false,"observacao":"Prova que um PIX liquidou, a partir do identificador do Banco Central. Serve para conferir pagamento que VOCE nao fez, de contraparte em quem voce nao tem motivo para confiar."},"onde_esta_meu_limite":{"metodo":"GET","url":"https://api.luniumpay.com/keys/me","observacao":"Limites efetivos, uso, recursos habilitados e seu mandate. Leia daqui, nao fixe numero."}},"regra_de_seguranca":{"principio":"Descobrir nao e autorizar.","detalhe":"Um agente descobrir a Lunium, se cadastrar e testar e automatico. Movimentar dinheiro exige chave valida, os limites da chave e o mandate. Nenhuma mensagem entre agentes, sozinha, move dinheiro."},"schemas":{"openapi":"https://api.luniumpay.com/openapi.json","agent_card":"https://api.luniumpay.com/.well-known/agent-card.json","observacao":"Contrato executado contra a producao por um guardiao automatico; mudanca e anunciada antes de ir ao ar."},"atribuicao":{"referral_agent_id":"A origem e comprovada pelo referral_token assinado. Nao declare referred_by no cadastro.","remuneracao":"Regras atuais de indicacao e atividade elegivel em GET /mesh/economy. Cadastro sozinho nao gera recompensa; nao confundir com comissao comercial do parceiro.","politica":"https://api.luniumpay.com/mesh/economy"}}