# Fathom Lending > Supply, borrow, and repay on the Fathom pool (XDC, chain 50). MCP: POST https://lending-mcp.fathom.fi/mcp (initialize, tools/list, tools/call) REST: POST https://lending-mcp.fathom.fi/api/tools/{toolName} body: { user, action, asset, amount } Skill: https://lending-mcp.fathom.fi/SKILL.md Protocol: https://lending-mcp.fathom.fi/protocol.md Manifest: https://lending-mcp.fathom.fi/.well-known/mcp.json Approve: https://dapp.fathom.fi/#/lending/agent/approve/{id} ## Tools - [lending_markets](https://lending-mcp.fathom.fi/mcp): List live Fathom Lending reserves on XDC mainnet (all assets). Includes APY, liquidity, LTV, and whether supply/borrow is open or close-only. - [lending_position](https://lending-mcp.fathom.fi/mcp): Read a wallet's Fathom Lending supplies, borrows, and health factor on XDC. Use any 0x address — works for existing MetaMask users, not only new wallets. - [lending_simulate](https://lending-mcp.fathom.fi/mcp): Preview health factor after supply, withdraw, borrow, or repay. Args: user, action, asset (symbol or 0x; XDC = native), amount (decimals or max). No transaction. - [lending_prepare](https://lending-mcp.fathom.fi/mcp): Prepare unsigned supply/withdraw/borrow/repay txs. Same args as lending_simulate. Returns calldata plus a 5-minute approveUrl. User must open the link, connect the same wallet, and sign. NEVER claim the action is done. Server never holds keys. Args: user = 0x wallet. action = supply | withdraw | borrow | repay. asset = symbol or 0x (XDC = native). amount = "25.5" or "max". ## Rules - After lending_prepare, give the user approveUrl. They sign with the same wallet. Do not claim the tx is done. - FXD, xUSDT, FTHM are close-only (withdraw/repay). CGO is frozen. Open: XDC, WXDC, USDC. - Borrow needs collateral. Rejected if health factor < 1.5. - XDC uses the native gateway. WXDC is the wrapped token. - Approve links expire in 5 minutes.