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.
- Abra Personalizar → Conectores, clique em + e depois em Adicionar conector personalizado
- 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.
- Abra (ou crie)
~/.cursor/mcp.json - 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.
- 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)
- Clique em Procurar plugins (ou Conectores) → + para adicionar um novo conector e cole a URL abaixo como URL do servidor MCP
- 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:
- Chame
get_auth_challengecom owalletAddresspara obter uma mensagem Sign-In-With-Ethereummessage. - 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. - Chame
submit_auth_verifycom a assinatura para trocá-la por umjwt. - Passe esse
jwtexplicitamente em cada chamadasubmit_deposit/submit_withdrawal/submit_configpara 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.
prepare_*calcula tudo (dados tipados EIP-712, um hash de assinatura de configuração ou parâmetros on-chainapprove()), 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.- Você assina o payload retornado com o assinante da própria carteira.
submit_*recebe a assinatura que você produziu mais seujwte a retransmite upstream. Esta é a etapa que move fundos ou altera a configuração.submit_depositesubmit_withdrawalretornam umtrackingIdpara consultar comget_deposit_status/get_withdrawal_status;submit_confignão tem ID de rastreamento nem consulta de status — confirme uma atualização de configuração incerta relendoget_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âmetro | Tipo | Descrição | |
|---|---|---|---|
walletAddress | string | obrigatório | Endereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização aceita. |
tokens | string | opcional | Sí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âmetro | Tipo | Descrição | |
|---|---|---|---|
walletAddress | string | obrigatório | Endereç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âmetro | Tipo | Descrição | |
|---|---|---|---|
walletAddress | string | obrigatório | Endereç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âmetro | Tipo | Descrição | |
|---|---|---|---|
token | string | obrigatório | Sí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âmetro | Tipo | Descrição | |
|---|---|---|---|
walletAddress | string | obrigatório | Endereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização aceita. |
reloadChain | string | opcional | Nome 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âmetro | Tipo | Descrição | |
|---|---|---|---|
token | string | obrigatório | Sí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âmetro | Tipo | Descrição | |
|---|---|---|---|
token | string | obrigatório | Símbolo do token, ex.: USDC, USDT, MUSD, RLUSD, USDG, USDE, PYUSD. |
chain | string | obrigatório | Nome 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âmetro | Tipo | Descrição | |
|---|---|---|---|
walletAddress | string | obrigatório | Endereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização aceita. |
chain | string | opcional | Apenas 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âmetro | Tipo | Descrição | |
|---|---|---|---|
walletAddress | string | obrigatório | Endereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização é aceita. |
signature | string | obrigatório | Assinatura personal_sign da mensagem SIWE de get_auth_challenge. |
chain | string | opcional | Para 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âmetro | Tipo | Descrição | |
|---|---|---|---|
chain | string | obrigatório | Cadeia 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. |
token | string | obrigatório | Símbolo do token, ex.: USDC, USDT, MUSD, RLUSD, USDG, USDE, PYUSD. |
walletAddress | string | obrigatório | Endereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização é aceita. |
amount | string | obrigatório | Valor bruto do token como uma string de dígitos decimais (menor denominação). Use get_token_info para decimais. |
method | "signature" | "approval" | opcional | Forç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âmetro | Tipo | Descrição | |
|---|---|---|---|
jwt | string | obrigatório | JWT de submit_auth_verify para este walletAddress. |
chain | string | obrigatório | Mesmo valor passado para prepare_deposit. |
token | string | obrigatório | Símbolo do token. |
walletAddress | string | obrigatório | Endereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização é aceita. |
amount | string | obrigatório | Valor bruto do token, igual ao passado para prepare_deposit. |
validAfter | string | opcional | Da saída do método de assinatura de prepare_deposit. Omita para depósitos baseados em aprovação. |
validBefore | string | opcional | Da saída do método de assinatura de prepare_deposit. Omita para depósitos baseados em aprovação. |
nonce | string | opcional | Da saída do método de assinatura de prepare_deposit. Omita para depósitos baseados em aprovação. |
signature | string | opcional | Assinatura ECDSA bruta de 65 bytes sobre o prepare_deposit de typedData. Omita para depósitos baseados em aprovação. |
tokenName | string | opcional | Da saída do método de assinatura de prepare_deposit. Omita para depósitos baseados em aprovação. |
tokenVersion | string | opcional | Da 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âmetro | Tipo | Descrição | |
|---|---|---|---|
trackingId | string | obrigatório | trackingId 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âmetro | Tipo | Descrição | |
|---|---|---|---|
walletAddress | string | obrigatório | Endereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização é aceita. |
chain | string | obrigatório | Necessário para desambiguar — o mesmo endereço de contrato de pool pode existir em várias cadeias. |
token | string | obrigatório | Símbolo do token — alguns endereços de pool atendem a múltiplos tokens. |
poolContract | string | obrigatório | Endereço do contrato do pool, de get_balances ' perPool[].poolAddress. |
amount | string | opcional | Valor 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âmetro | Tipo | Descrição | |
|---|---|---|---|
jwt | string | obrigatório | JWT de submit_auth_verify para este walletAddress. |
chain | string | obrigatório | Da saída de prepare_withdrawal. |
token | string | obrigatório | Símbolo do token. |
walletAddress | string | obrigatório | Endereço de carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização é aceita. |
amount | string | obrigatório | Da saída de prepare_withdrawal. |
deadline | string | obrigatório | Da saída de prepare_withdrawal. |
signature | string | obrigatório | Assinatura sobre o prepare_withdrawal de typedData. |
poolContract | string | obrigatório | Endereç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âmetro | Tipo | Descrição | |
|---|---|---|---|
trackingId | string | obrigatório | trackingId 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âmetro | Tipo | Descrição | |
|---|---|---|---|
walletAddress | string | obrigatório | Endereço da carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização é aceita. |
token | string | obrigatório | Símbolo do token ao qual esta configuração se aplica. |
protocolIds | number[] | obrigatório | 0=Aave, 1=Morpho, 2=Euler. Uma entrada por item de poolAddresses / domainIds, de list_pools ' signData.protocolId. |
poolAddresses | string[] | obrigatório | Endereços dos contratos de pool a permitir, de list_pools ' signData.poolAddress. |
domainIds | number[] | obrigatório | IDs de domínio de cadeia, um por entrada de poolAddresses, de list_pools ' signData.domainId. |
includeRewardsApy | boolean | opcional | Se 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. |
requiredTvl | string | opcional | TVL 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. |
requiredLiquidityMultiplier | string | opcional | A 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. |
collateralExposure | string[] | null | opcional | Lista 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. |
spendingCapRaw | string | null | opcional | Unidades 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âmetro | Tipo | Descrição | |
|---|---|---|---|
jwt | string | obrigatório | JWT de submit_auth_verify para este walletAddress. |
walletAddress | string | obrigatório | Endereço da carteira EVM (0x…, 40 caracteres hexadecimais). Qualquer capitalização é aceita. |
token | string | obrigatório | Símbolo do token, igual ao passado para prepare_config. |
protocolIds | number[] | obrigatório | Mesmo array passado para prepare_config. |
poolAddresses | string[] | obrigatório | Mesmo array passado para prepare_config. |
domainIds | number[] | obrigatório | Mesmo array passado para prepare_config. |
signature | string | obrigatório | Assinatura sobre prepare_config 's hashToSign. |
includeRewardsApy | boolean | opcional | Mesmo valor passado para prepare_config. |
requiredTvl | string | opcional | Mesmo valor passado para prepare_config. |
requiredLiquidityMultiplier | string | opcional | Mesmo valor passado para prepare_config. |
collateralExposure | string[] | null | opcional | Mesmo valor passado para prepare_config. |
spendingCapRaw | string | null | opcional | Mesmo valor passado para prepare_config — deve corresponder exatamente. |