Metalend

Navegue, deposite, retire e rebalanceie posições de stablecoins na Aave, Morpho e Euler. Acompanhe rendimentos, saldos, recompensas e configurações do rebalanceador em todas as principais cadeias EVM.

Documentação

Introdução

Este endpoint expõe o rebalanceador da MetaLend como ferramentas MCP: as mesmas ferramentas somente leitura de descoberta que /mcp/readonly, além do fluxo completo de escrita — depósitos, saques e atualizações de configuração do rebalanceador. As ferramentas de descoberta não exigem autenticação; os fluxos de escrita exigem um JWT de carteira e uma assinatura que você mesmo produz. Este servidor nunca armazena uma chave privada.

Endpoint https://mcp.metalend.tech/mcp

Instalação

Claude Code

Adicione a MetaLend como um servidor MCP remoto diretamente pela CLI.

claude mcp add --transport http metalend https://mcp.metalend.tech/mcp

Escolha "Sem autenticação" no nível do conector — o JWT de carteira usado pelas ferramentas de escrita é passado como argumento da ferramenta (consulte Autenticação), não configurado no conector.

Claude Desktop

Adicione a MetaLend como um conector personalizado nas configurações do Claude.

  1. Abra Personalizar → Conectores, clique em + e depois em Adicionar conector personalizado
  2. Cole a URL abaixo e clique em Adicionar
https://mcp.metalend.tech/mcp

Proprietários de planos Team e Enterprise usam Configurações da Organização → Conectores → Adicionar → Personalizado → Web.

Cursor

Registre a MetaLend como um servidor MCP remoto na sua configuração do Cursor.

  1. Abra (ou crie) ~/.cursor/mcp.json
  2. Adicione o bloco abaixo e recarregue o Cursor
{
  "mcpServers": {
    "metalend": {
      "url": "https://mcp.metalend.tech/mcp"
    }
  }
}

ChatGPT

Conecte a MetaLend como um conector MCP personalizado no modo Desenvolvedor.

  1. Ative o modo Desenvolvedor (os rótulos dos menus variam conforme a distribuição — procure em Configurações → Apps e Conectores → Configurações Avançadas, ou Configurações → Plugins)
  2. Clique em Procurar plugins (ou Conectores) → + para adicionar um novo conector e cole a URL abaixo como URL do servidor MCP
  3. Em Autenticação, escolha "Sem autenticação" — o servidor MCP da MetaLend não exige um token fornecido pelo cliente
https://mcp.metalend.tech/mcp

O modo Desenvolvedor é um beta do ChatGPT que ainda está sendo distribuído, então a localização exata do botão e a disponibilidade no plano podem variar — verifique suas próprias Configurações se ainda não o encontrar.

Autenticação

As ferramentas de descoberta (listagens de pools, saldos, configuração, recompensas, custos) não exigem autenticação — passe um walletAddress e leia. Todo fluxo de escrita (depósito, saque, atualização de configuração) exige adicionalmente um JWT de carteira:

  1. Chame get_auth_challenge com o walletAddress para obter uma mensagem Sign-In-With-Ethereum message.
  2. Assine essa mensagem com o assinante da própria carteira usando personal_sign (EIP-191). Este servidor nunca vê uma chave privada — você assina, ele retransmite.
  3. Chame submit_auth_verify com a assinatura para trocá-la por um jwt.
  4. Passe esse jwt explicitamente em cada chamada submit_deposit / submit_withdrawal / submit_config para essa mesma carteira. Ele nunca é armazenado em cache no servidor.

O jwt é uma credencial portadora de longa duração — é emitido com aproximadamente 115 dias de validade (o expiresAt da resposta, decodificado da própria declaração exp do token, é o valor autoritativo). Não o trate como um token efêmero por requisição e não execute novamente o fluxo SIWE antes de cada chamada: armazene-o, proteja-o como uma senha (qualquer pessoa que o possua pode enviar escritas para essa carteira até expirar) e reutilize o mesmo jwt em todas as chamadas de escrita para essa carteira até que expiresAt expire.

Um jwt só é válido para o walletAddress exato que produziu a assinatura — um par jwt / walletAddress incompatível é rejeitado com 403. Para uma carteira de contrato inteligente, as assinaturas SIWE, de saque e de configuração são limitadas por cadeia (ERC-1271 / ERC-6492): a carteira deve ter um assinante válido nas cadeias relevantes, e prepare_config em particular pode exigir todas as cadeias de domainIds de uma só vez. Assinaturas de depósito aceitam apenas uma assinatura ECDSA bruta no estilo EOA — uma carteira de contrato inteligente deve usar prepare_deposit 's method: "approval".

Fluxo de Escrita

Depósitos, saques e atualizações de configuração seguem todos o mesmo formato de duas etapas: prepare_* e depois submit_*. Este servidor nunca armazena uma chave privada.

  1. prepare_* calcula tudo (dados tipados EIP-712, um hash de assinatura de configuração ou parâmetros on-chain approve()), executa todas as verificações prévias possíveis — mínimos por cadeia, liquidez do pool, invariantes de pools financiados — e retorna os bytes exatos para assinar. Ele nunca assina e nunca move fundos.
  2. Você assina o payload retornado com o assinante da própria carteira.
  3. submit_* recebe a assinatura que você produziu mais seu jwt e a retransmite upstream. Esta é a etapa que move fundos ou altera a configuração. submit_deposit e submit_withdrawal retornam um trackingId para consultar com get_deposit_status / get_withdrawal_status; submit_config não tem ID de rastreamento nem consulta de status — confirme uma atualização de configuração incerta relendo get_config.

Depósitos baseados em aprovação (USDT, RLUSD, USDG, USDE ou qualquer token de uma carteira de contrato inteligente) pulam a assinatura completamente: prepare_deposit retorna parâmetros approve() que sua carteira transmite on-chain por conta própria, e então submit_deposit é chamado sem campos de assinatura.

Após um depósito, consulte get_deposit_status; após um saque, get_withdrawal_status. Um depósito que atinge BRIDGING está efetivamente concluído — os fundos estão cruzando cadeias via CCTP e você não deve continuar consultando se a ponte em si terminou. Uma atualização de configuração não tem consulta: se submit_config expirar ou seu resultado não estiver claro, verifique get_config para ver se foi aplicada.

Limites de Taxa

Cada ferramenta tem seu próprio limite por minuto e um espaçamento mínimo entre chamadas individuais (um limite de "rajada"), definido por IP do chamador — veja a linha de especificação de cada ferramenta abaixo para os valores exatos. Uma chamada limitada retorna um resultado de ferramenta normal com isError: true e uma mensagem informando quantos segundos esperar antes de tentar novamente, não um status de erro HTTP, para que um cliente bem-comportado possa ler o motivo diretamente em vez de ver uma falha de transporte.

Ferramentas

list_pools

Listar pools do rebalanceador

somente leitura 20 chamadas/min 1 chamada / 3s

Lista todos os pools nos quais o rebalanceador da MetaLend pode depositar: protocolo (Aave, Morpho, Euler), cadeia, detalhamento de APY (nativo/recompensas/total/líquido de taxas), TVL, liquidez e o signData (protocolId, poolAddress, domainId) que identifica cada pool. Não retorna saldos ou configuração de uma carteira — use get_balances / get_config para isso. Filtre pools onde blacklisted é verdadeiro.

Sem parâmetros.

get_balances

Obter saldos do rebalanceador

somente leitura 5 chamadas/min 1 chamada / 12s

Obtém os saldos do rebalanceador implantados de uma carteira, detalhados por token, por cadeia e por protocolo/pool, incluindo ganhos líquidos e APY combinado. Falha se a carteira ainda não tiver um rebalanceador — use get_default_config para ver como seria uma configuração inicial.

ParâmetroTipoDescrição
walletAddressstringobrigatórioEndereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização aceita.
tokensstringopcionalSímbolos de token separados por vírgula para restringir (ex.: USDC,USDT). Omita para todos os tokens suportados.

get_bridge_balances

Obter saldos de ponte

somente leitura 20 chamadas/min 1 chamada / 3s

Obtém os saldos de ponte USDC em trânsito de uma carteira (fundos cruzando cadeias em direção a um pool de destino), incluindo tempo estimado de conclusão. Não inclui saldos do rebalanceador já liquidados — use get_balances para esses. Aplica-se apenas a USDC.

ParâmetroTipoDescrição
walletAddressstringobrigatórioEndereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização aceita.

get_config

Obter configuração do rebalanceador

somente leitura 20 chamadas/min 1 chamada / 3s

Obtém a configuração atual do rebalanceador de uma carteira por token: quais protocolos/pools/cadeias estão habilitados, frequência de rebalanceamento, depósitos/saques/taxas vitalícios e limite de gastos. Também retorna rebalancerAddress e rebalancingManagerAddress. Não retorna saldos em tempo real — use get_balances para isso.

ParâmetroTipoDescrição
walletAddressstringobrigatórioEndereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização aceita.

get_default_config

Obter configuração padrão do rebalanceador para um token

somente leitura 20 chamadas/min 1 chamada / 3s

Obtém a configuração padrão recomendada pela MetaLend para um determinado símbolo de token: rebalancingManagerAddress mais protocolIds/poolAddresses/domainIds recomendados. Destinado a carteiras sem configuração existente — para a configuração atual de uma carteira existente, use get_config.

ParâmetroTipoDescrição
tokenstringobrigatórioSímbolo do token, ex.: USDC, USDT, MUSD, RLUSD, USDG, USDE, PYUSD.

get_rewards

Obter recompensas do rebalanceador

somente leitura 20 chamadas/min 1 chamada / 3s

Obtém as recompensas/ganhos agregados de uma carteira em todas as fontes de recompensa, incluindo totais em USD reivindicados/disponíveis. Não inclui ganhos base de rendimento/APY do rebalanceador — esses estão no campo get_balances ' netEarning.

ParâmetroTipoDescrição
walletAddressstringobrigatórioEndereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização aceita.
reloadChainstringopcionalNome da cadeia para forçar um novo carregamento (ex.: BASE). Omita para usar dados em cache.

get_transaction_costs

Obter custos de transação

somente leitura 20 chamadas/min 1 chamada / 3s

Obtém custos constantes de gás de depósito/saque em nome do usuário e valores mínimos de depósito/saque para um token, detalhados por cadeia suportada. Verifique um valor de depósito/saque contra o mínimo da cadeia antes de prepará-lo.

ParâmetroTipoDescrição
tokenstringobrigatórioSímbolo do token, ex.: USDC, USDT, MUSD, RLUSD, USDG, USDE, PYUSD.

get_token_info

Obter informações do token

somente leitura 6 chamadas/min 1 chamada / 10s

Obtém os metadados on-chain de um token (nome de exibição, decimais, versão EIP-712) para uma determinada cadeia. Também é usado para resolver os decimais em que um amount bruto é expresso.

ParâmetroTipoDescrição
tokenstringobrigatórioSímbolo do token, ex.: USDC, USDT, MUSD, RLUSD, USDG, USDE, PYUSD.
chainstringobrigatórioNome da cadeia, ex.: BASE, ETHEREUM, POLYGON.

get_auth_challenge

Obter desafio de autenticação SIWE

escrita 10 chamadas/min 1 chamada / 6s

Obtém uma mensagem de desafio Sign-In-With-Ethereum para uma carteira, necessária antes de qualquer depósito, saque ou atualização de configuração. Assine o message retornado com personal_sign (EIP-191) usando o assinante da própria carteira e passe-o para submit_auth_verify. Não autentica nada por si só. Chamadas repetidas para a mesma carteira em poucos minutos retornam a mesma mensagem, não uma nova — o backend mantém apenas um desafio pendente por carteira, e reemitir invalidaria o que um chamador anterior está prestes a assinar.

ParâmetroTipoDescrição
walletAddressstringobrigatórioEndereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização aceita.
chainstringopcionalApenas cosmético — exibido como a linha "Chain ID:" no texto da mensagem SIWE e não precisa corresponder à cadeia passada para submit_auth_verify. Padrão: ETHEREUM.

submit_auth_verify

Verificar assinatura SIWE e obter um JWT

escrita 5 chamadas/min 1 chamada / 12s

Troca um desafio SIWE assinado (de get_auth_challenge) por um jwt limitado a essa carteira. Passe o jwt explicitamente como o argumento jwt para submit_deposit / submit_withdrawal / submit_config para essa mesma carteira — este servidor nunca o armazena. O token é de longa duração (emitido com aproximadamente 115 dias de validade; o expiresAt da resposta, decodificado da própria declaração exp do JWT, é autoritativo), então armazene-o e proteja-o como uma credencial portadora e reutilize o mesmo em todas as chamadas de escrita para essa carteira até que expiresAt expire, em vez de executar este fluxo novamente. Um jwt usado para uma chamada de escrita de uma carteira diferente é rejeitado com 403.

ParâmetroTipoDescrição
walletAddressstringobrigatórioEndereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização é aceita.
signaturestringobrigatórioAssinatura personal_sign da mensagem SIWE de get_auth_challenge.
chainstringopcionalPara uma EOA isso é irrelevante (a recuperação é agnóstica de cadeia). Para uma carteira de contrato inteligente, DEVE ser a cadeia na qual ela tem (ou teria, via implantação contrafactual ERC-6492) um signatário válido — isso determina qual RPC da cadeia valida a assinatura (ERC-1271/6492). O padrão é ETHEREUM.

prepare_deposit

Preparar um depósito

somente leitura 6 chamadas/min 1 chamada / 10s

Constrói tudo o que é necessário para depositar no rebalanceador, sem assinar. Tokens sem gás (USDC, MUSD, PYUSD) recebem um payload EIP-712 ReceiveWithAuthorization para assinar; tokens somente com aprovação (USDT, RLUSD, USDG, USDE) — e qualquer carteira de contrato inteligente, para qualquer token — recebem parâmetros on-chain approve() em vez disso, que sua carteira deve transmitir por conta própria (este servidor não tem acesso a RPC). Requer uma configuração de rebalanceador assinada para o token (execute prepare_config / submit_config primeiro se get_config não mostrar nenhuma) e valida o valor contra o mínimo da cadeia antes de retornar qualquer coisa. Uma taxa fixa de gás em nome do usuário é deduzida antes de o rebalanceador creditar o depósito — expectedCreditedAmountRaw na resposta é o que realmente aparece em get_balances, não o amount completo.

ParâmetroTipoDescrição
chainstringobrigatórioCadeia de origem do depósito: onde approve() é transmitido, ou a cadeia na qual a assinatura EIP-712 deve ser validada. Não é onde o rebalanceador investe os fundos em última instância.
tokenstringobrigatórioSímbolo do token, ex.: USDC, USDT, MUSD, RLUSD, USDG, USDE, PYUSD.
walletAddressstringobrigatórioEndereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização é aceita.
amountstringobrigatórioValor bruto do token como uma string de dígitos decimais (menor denominação). Use get_token_info para decimais.
method"signature" | "approval"opcionalForça um fluxo. O padrão é signature para tokens elegíveis sem gás, caso contrário approval. Uma carteira de contrato inteligente deve passar approval — o fluxo de assinatura rejeita assinaturas de carteiras inteligentes (incluindo ERC-6492) imediatamente.

submit_deposit

Enviar um depósito

escrita 10 chamadas/min 1 chamada / 6s

Envia um depósito — move fundos. Requer um jwt de submit_auth_verify para este walletAddress, e ou um signature (da saída de assinatura de prepare_deposit) ou, para depósitos baseados em aprovação, nenhuma assinatura uma vez que sua carteira tenha transmitido a transação approve() on-chain. Sempre chame prepare_deposit primeiro — esta ferramenta não valida valores nem resolve endereços. Retorna um trackingId para get_deposit_status. Os seis campos de assinatura devem ser fornecidos todos juntos ou nenhum. A assinatura deve ser uma assinatura ECDSA bruta de 65 bytes — assinaturas de carteira inteligente / ERC-6492 são rejeitadas; use o método de aprovação em vez disso.

ParâmetroTipoDescrição
jwtstringobrigatórioJWT de submit_auth_verify para este walletAddress.
chainstringobrigatórioMesmo valor passado para prepare_deposit.
tokenstringobrigatórioSímbolo do token.
walletAddressstringobrigatórioEndereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização é aceita.
amountstringobrigatórioValor bruto do token, igual ao passado para prepare_deposit.
validAfterstringopcionalDa saída do método de assinatura de prepare_deposit. Omita para depósitos baseados em aprovação.
validBeforestringopcionalDa saída do método de assinatura de prepare_deposit. Omita para depósitos baseados em aprovação.
noncestringopcionalDa saída do método de assinatura de prepare_deposit. Omita para depósitos baseados em aprovação.
signaturestringopcionalAssinatura ECDSA bruta de 65 bytes sobre o prepare_deposit de typedData. Omita para depósitos baseados em aprovação.
tokenNamestringopcionalDa saída do método de assinatura de prepare_deposit. Omita para depósitos baseados em aprovação.
tokenVersionstringopcionalDa saída do método de assinatura de prepare_deposit. Omita para depósitos baseados em aprovação.

get_deposit_status

Obter status do depósito

somente leitura 20 chamadas/min 1 chamada / 3s

Consulte um depósito por trackingId (de submit_deposit). status é um dos: PROCESSING — ainda confirmando on-chain, continue consultando; BRIDGING — aceito, fundos cruzando cadeias via CCTP (normalmente 20–30 min), trate como concluído e pare de consultar; SUCCESS — terminal, totalmente concluído; FAILED — terminal, não foi concluído; EMERGENCY_WITHDRAW — terminal, mas não é sucesso: o pool de destino não pôde aceitar os fundos após a ponte, então eles foram enviados de volta para o endereço da sua própria carteira (não perdidos, não presos).

ParâmetroTipoDescrição
trackingIdstringobrigatóriotrackingId retornado por submit_deposit.

prepare_withdrawal

Preparar um saque

somente leitura 5 chamadas/min 1 chamada / 12s

Constrói o payload de dados tipados EIP-712 para assinar ao sacar de um pool específico, sem assinar. Consulta o withdrawRequest exato dos seus saldos atuais, preenche o valor e um prazo de curta duração, e retorna pronto para assinar. Omita amount (ou passe "MAX") para sacar todo o saldo do pool — isso usa a convenção maxUint256, evitando falhas de saldo desatualizado/arredondamento. Recusa construir typedData quando a liquidez ativa do pool não excede o valor, ou quando o valor está abaixo do mínimo da cadeia. Uma taxa fixa de gás em nome do usuário é deduzida — expectedReceivedAmountRaw é o que realmente chega.

ParâmetroTipoDescrição
walletAddressstringobrigatórioEndereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização é aceita.
chainstringobrigatórioNecessário para desambiguar — o mesmo endereço de contrato de pool pode existir em várias cadeias.
tokenstringobrigatórioSímbolo do token — alguns endereços de pool atendem a múltiplos tokens.
poolContractstringobrigatórioEndereço do contrato do pool, de get_balances ' perPool[].poolAddress.
amountstringopcionalValor bruto a sacar. Omita ou passe "MAX" para um saque total (usa maxUint256).

submit_withdrawal

Enviar um saque

escrita 20 chamadas/min 1 chamada / 3s

Envia um saque — move fundos. Requer um jwt de submit_auth_verify para este walletAddress e um signature sobre o prepare_withdrawal de typedData. Sempre chame prepare_withdrawal primeiro — esta ferramenta não consulta dados de pool nem valida valores. O domínio EIP-712 da assinatura é limitado a este único chain: uma carteira de contrato inteligente deve ter um signatário válido nessa cadeia exata (uma EOA é agnóstica de cadeia). Retorna um trackingId para get_withdrawal_status.

ParâmetroTipoDescrição
jwtstringobrigatórioJWT de submit_auth_verify para este walletAddress.
chainstringobrigatórioDa saída de prepare_withdrawal.
tokenstringobrigatórioSímbolo do token.
walletAddressstringobrigatórioEndereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização é aceita.
amountstringobrigatórioDa saída de prepare_withdrawal.
deadlinestringobrigatórioDa saída de prepare_withdrawal.
signaturestringobrigatórioAssinatura sobre o prepare_withdrawal de typedData.
poolContractstringobrigatórioEndereço do contrato do pool, igual ao passado para prepare_withdrawal.

get_withdrawal_status

Obter status do saque

somente leitura 20 chamadas/min 1 chamada / 3s

Consulte um saque por trackingId (de submit_withdrawal). status é um dos: PROCESSING — ainda em andamento, continue consultando (saques não têm etapa de ponte entre cadeias); SUCCESS — terminal, concluído; FAILED — terminal, não foi concluído.

ParâmetroTipoDescrição
trackingIdstringobrigatóriotrackingId retornado por submit_withdrawal.

get_withdrawal_version

Obter versão do contrato de saque

somente leitura 10 chamadas/min 1 chamada / 6s

Obtém a string de versão de assinatura do contrato necessária para os dados de domínio EIP-712 usados ao assinar um saque. Raramente muda; seguro para armazenar em cache no lado do cliente.

Sem parâmetros.

prepare_config

Preparar uma atualização de configuração do rebalanceador

somente leitura 5 chamadas/min 1 chamada / 12s

Constrói o hash de assinatura para atualizar a configuração do rebalanceador de uma carteira (quais pools/protocolos/cadeias ela pode mover fundos), sem assinar. Assine o hashToSign retornado com personal_sign sobre seus 32 bytes brutos (não o texto UTF-8 da string hexadecimal) e passe a assinatura para submit_config. Recusa construir um hash para uma configuração que removeria um pool no qual você ainda mantém um saldo diferente de zero (saque primeiro), um spendingCapRaw inválido, ou qualquer tupla (domainId, protocolId, poolAddress) que não corresponda a um pool real no catálogo atual. Para uma carteira de contrato inteligente, a mesma assinatura deve verificar independentemente em cada cadeia nomeada em domainIds; uma EOA não é afetada. Ao reconfigurar uma carteira que já tem uma configuração assinada, leve todos os campos adiante de get_config a menos que você deliberadamente queira alterá-los — omitir includeRewardsApy, requiredTvl, requiredLiquidityMultiplier, collateralExposure ou spendingCapRaw não preserva o valor atual, isso silenciosamente redefine o filtro.

ParâmetroTipoDescrição
walletAddressstringobrigatórioEndereço da carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização é aceita.
tokenstringobrigatórioSímbolo do token ao qual esta configuração se aplica.
protocolIdsnumber[]obrigatório0=Aave, 1=Morpho, 2=Euler. Uma entrada por item de poolAddresses / domainIds, de list_pools ' signData.protocolId.
poolAddressesstring[]obrigatórioEndereços dos contratos de pool a permitir, de list_pools ' signData.poolAddress.
domainIdsnumber[]obrigatórioIDs de domínio de cadeia, um por entrada de poolAddresses, de list_pools ' signData.domainId.
includeRewardsApybooleanopcionalSe o APY do token de recompensa conta para a comparação de melhor pool. Padrão: verdadeiro. Ao reconfigurar, copie o valor atual de get_config — omiti-lo redefine silenciosamente.
requiredTvlstringopcionalTVL mínimo do pool em USD para que um pool seja um alvo de rebalanceamento elegível. Omiti-lo (padrão) não mantém o piso atual da carteira — redefine silenciosamente para 0 (sem piso). Ao reconfigurar, passe o valor atual de get_config.
requiredLiquidityMultiplierstringopcionalA liquidez de um pool candidato deve ser pelo menos este múltiplo do valor do depósito (USD) para ser elegível. Omiti-lo (padrão) redefine silenciosamente para 0 (sem margem); não mantém o valor atual — ao reconfigurar, passe o valor atual de get_config.
collateralExposurestring[] | nullopcionalLista de permissões de símbolos de colateral — aplica-se apenas à seleção de vaults Morpho. null (padrão) desativa; um array vazio é rejeitado. Uma lista não nula também exige um pool Aave na configuração. Omiti-la desativa silenciosamente o filtro; portanto, ao reconfigurar, passe o valor atual de get_config.
spendingCapRawstring | nullopcionalUnidades brutas, apenas USDC ("0" /nulo para qualquer outro token). Valor diferente de zero define o saldo-alvo que o MetaLend mantém abastecido na Linea para um cartão vinculado; exige o pool Aave na Linea e um mínimo de 1000000 (1 USDC). Deve corresponder exatamente entre prepare_config e submit_config. Omiti-lo redefine o limite para 0 (desativado); portanto, ao reconfigurar, passe o valor atual de get_config.

submit_config

Enviar uma atualização de configuração do rebalanceador

write 10 chamadas/min 1 chamada / 6s

Envia uma atualização de configuração do rebalanceador assinada. Exige um jwt de submit_auth_verify para este walletAddress e um signature sobre prepare_config 's hashToSign. Sempre chame prepare_config primeiro — esta ferramenta não calcula o hash nem verifica o invariante de saldo por conta própria. Encaminha os mesmos campos de configuração que prepare_config: ao reconfigurar, cada filtro opcional omitido (requiredTvl, requiredLiquidityMultiplier, collateralExposure, spendingCapRaw, includeRewardsApy) é redefinido silenciosamente, não preservado — carregue os valores atuais de get_config. Pode retornar 409 se um rebalanceamento ou depósito estiver em andamento para esta carteira+token (ou, apenas USDC, um reabastecimento de limite de financiamento) — não relacionado à assinatura; aguarde e tente novamente usando a dica retryAfterSeconds. Não há ID de rastreamento nem poller de status para uma atualização de configuração — se esta chamada expirar, releia get_config para ver se foi aplicada, em vez de presumir que não foi.

ParâmetroTipoDescrição
jwtstringobrigatórioJWT de submit_auth_verify para este walletAddress.
walletAddressstringobrigatórioEndereço da carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização é aceita.
tokenstringobrigatórioSímbolo do token, igual ao passado para prepare_config.
protocolIdsnumber[]obrigatórioMesmo array passado para prepare_config.
poolAddressesstring[]obrigatórioMesmo array passado para prepare_config.
domainIdsnumber[]obrigatórioMesmo array passado para prepare_config.
signaturestringobrigatórioAssinatura sobre prepare_config 's hashToSign.
includeRewardsApybooleanopcionalMesmo valor passado para prepare_config.
requiredTvlstringopcionalMesmo valor passado para prepare_config.
requiredLiquidityMultiplierstringopcionalMesmo valor passado para prepare_config.
collateralExposurestring[] | nullopcionalMesmo valor passado para prepare_config.
spendingCapRawstring | nullopcionalMesmo valor passado para prepare_config — deve corresponder exatamente.