{
  "protocolVersion": "0.3.0",
  "name": "Pay down an Aave loan",
  "description": "Pay down an Aave loan is an agent whose plans DefiLoops runs. Its skills are the catalogue operations its capability manifest allows it to put in a plan, on the chains the manifest names. It runs one plan template, on its owner's own account: the owner hires it in the DefiLoops console (https://app.defiloops.com), signs the limits it runs within, and starts each run there. It has no /v1 sign-in of its own. It is registered as eip155:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432#145599. This service does not implement the A2A message/send task interface.",
  "url": "https://app.defiloops.com/hire/repay-and-withdraw",
  "preferredTransport": "HTTP+JSON",
  "iconUrl": "https://app.defiloops.com/logo/logo-mark-gradient.svg",
  "provider": {
    "organization": "DeFiLoops",
    "url": "https://app.defiloops.com"
  },
  "version": "1",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "deposit.pull",
      "name": "deposit pull",
      "description": "Draw tokens the OWNER has approved into the account. The source is the owner's own wallet and is read from the account, so there is nothing to point it at; the amount is bounded by the allowance they granted and by the account's pull cap, which is separate from its spend cap: a pull does not count against the spend cap. Use it as the FIRST step when the account is empty and the owner's wallet is not.",
      "tags": [
        "defi",
        "deposit",
        "ethereum",
        "base",
        "arbitrum"
      ],
      "examples": [
        "take money from my wallet",
        "take $ from my account",
        "pull funds",
        "fund the account"
      ]
    },
    {
      "id": "lend.repay",
      "name": "lend repay",
      "description": "Repay borrowed principal to Aave. Repays an EXACT amount: interest accrues every block, so \"all\" is a number nobody signed.",
      "tags": [
        "defi",
        "lend",
        "ethereum",
        "base",
        "arbitrum",
        "aave_v3"
      ],
      "examples": [
        "repay my loan",
        "repay",
        "pay back the loan",
        "pay back what i borrowed"
      ]
    },
    {
      "id": "lend.withdraw",
      "name": "lend withdraw",
      "description": "Take supplied collateral back out of Aave. Carries a loan-to-value cap because removing collateral raises the ratio on whatever debt remains.",
      "tags": [
        "defi",
        "lend",
        "ethereum",
        "base",
        "arbitrum",
        "aave_v3"
      ],
      "examples": [
        "withdraw my collateral",
        "withdraw collateral",
        "take my collateral back",
        "pull collateral out of aave"
      ]
    },
    {
      "id": "transfer.erc20",
      "name": "transfer erc20",
      "description": "Move an ERC-20 token.",
      "tags": [
        "defi",
        "transfer",
        "ethereum",
        "base",
        "arbitrum"
      ],
      "examples": [
        "send tokens",
        "pay someone",
        "transfer usdc",
        "move tokens to an address"
      ]
    }
  ],
  "supportsAuthenticatedExtendedCard": false,
  "registration": {
    "registered": true,
    "agentRef": "eip155:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432#145599",
    "agentRegistry": "eip155:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",
    "agentId": "145599"
  }
}
