Lending Rate Optimizer
Discover what your assets could earn through lending—and where to find the strongest rates. Compare supported lending markets to find the best rates for the assets you hold and the amount you want to put to work.
Offering
- Provider
- api.alphabuild.xyz
- Method
- POST
- Offering type
- Api Endpoint
- Transport type
- http
- Category
- Blockchain And Crypto
- Delivery
- Not provided
- Pricing model
- Not provided
- x402 version
- 2
Endpoint context
- URL
https://api.alphabuild.xyz/lor/v1/evaluate- MIME type
- application/json
- First seen
- 2026-10-16T01:50:06.715Z
- Last seen
- Tags
- DeFi, lending, Base, Ethereum, Arbitrum
Payment pricing
x402 payment terms are the authoritative price for calling this endpoint.
- Payment option 1
- 0.01 USDC
Atomic price: 10000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
{
"scheme": "exact",
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "10000",
"payTo": "0x17fD9bf1C73f9E62A6AF16FC483279B3d83c1398"
}
]Observed health
- Status
- Healthy
- Latest latency
- 96 ms
- Average latency
- 131 ms
- HTTP status
- 204
- Last checked
- Reachability
- 100% over 14 checks
Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.
Input schema
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"type": "string",
"enum": [
"POST"
]
},
"bodyType": {
"type": "string",
"enum": [
"json",
"form-data",
"text"
]
},
"body": {
"type": "object",
"additionalProperties": false,
"required": [
"target_environment",
"asset",
"amount"
],
"properties": {
"target_environment": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"chain_id"
],
"properties": {
"kind": {
"type": "string",
"const": "evm_chain"
},
"chain_id": {
"type": "integer",
"enum": [
8453,
1,
42161
]
},
"network_name": {
"type": "string",
"enum": [
"base",
"ethereum",
"arbitrum"
]
}
}
},
"asset": {
"type": "string",
"enum": [
"USDC",
"WETH",
"cbBTC",
"EURC",
"USDT",
"USDS",
"WBTC",
"wstETH"
]
},
"amount": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+(\\.[0-9]+)?$",
"not": {
"pattern": "^0+(\\.0+)?$"
},
"description": "Positive amount in whole-token decimal units, not atomic units; a fractional token amount is allowed. Base retains its existing decimal normalization and amount semantics."
},
{
"type": "string",
"pattern": "^\\s*(0|[1-9][0-9]*)(\\.[0-9]+)?\\s*$",
"not": {
"pattern": "^\\s*0(\\.0+)?\\s*$"
},
"maxLength": 256,
"description": "Positive whole-token decimal quantity of the requested holding; fractional tokens are allowed. The original amount text is limited to 256 characters before trimming. After the existing decimal trim, conversion must be exact at the holding's token precision, without rounding, and the atomic integer must satisfy 1 <= amount <= 2^256 - 1. USDC, EURC and USDT use 6 decimals; cbBTC and WBTC use 8; WETH, USDS and wstETH use 18. Invalid amount text, precision or uint256 bounds is a malformed request (400 BAD_REQUEST).",
"x-lor-token-decimals": {
"USDC": 6,
"WETH": 18,
"EURC": 6,
"cbBTC": 8,
"USDT": 6,
"USDS": 18,
"WBTC": 8,
"wstETH": 18
},
"x-lor-atomic-unit-range": {
"minimum": "1",
"maximum": "115792089237316195423570985008687907853269984665640564039457584007913129639935"
}
}
]
},
"minimum_base_supply_apy": {
"type": "string",
"pattern": "^[0-9]+(\\.[0-9]+)?$",
"description": "Optional Base gross protocol supply APY floor as a decimal fraction; 0.05 means 5%. Omission selects unconstrained comparison."
},
"protocol": {
"type": "string",
"enum": [
"aave-v3",
"morpho-blue",
"euler-evk",
"dolomite"
],
"description": "Optional protocol filter."
},
"opportunity_id": {
"type": "string",
"minLength": 1,
"description": "Optional approved opportunity identifier; requires protocol."
}
},
"oneOf": [
{
"type": "object",
"title": "Base8453Request",
"additionalProperties": false,
"required": [
"target_environment",
"asset",
"amount"
],
"properties": {
"target_environment": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"chain_id"
],
"properties": {
"kind": {
"type": "string",
"const": "evm_chain"
},
"chain_id": {
"type": "integer",
"const": 8453
},
"network_name": {
"type": "string",
"const": "base"
}
}
},
"asset": {
"type": "string",
"enum": [
"USDC",
"WETH",
"cbBTC",
"EURC"
]
},
"amount": {
"type": "string",
"pattern": "^[0-9]+(\\.[0-9]+)?$",
"not": {
"pattern": "^0+(\\.0+)?$"
},
"description": "Positive amount in whole-token decimal units, not atomic units; a fractional token amount is allowed. Base retains its existing decimal normalization and amount semantics."
},
"minimum_base_supply_apy": {
"type": "string",
"pattern": "^[0-9]+(\\.[0-9]+)?$",
"description": "Optional Base gross protocol supply APY floor as a decimal fraction; 0.05 means 5%. Omission selects unconstrained comparison."
},
"protocol": {
"type": "string",
"enum": [
"aave-v3",
"morpho-blue"
],
"description": "Optional protocol filter."
},
"opportunity_id": {
"type": "string",
"minLength": 1,
"description": "Optional approved opportunity identifier; requires protocol."
}
},
"dependencies": {
"opportunity_id": [
"protocol"
]
}
},
{
"type": "object",
"title": "Ethereum1Request",
"description": "Evaluate the same held asset in its own token units across the finite adopted Ethereum lending catalog. No swap, staking growth or incentives are modeled. minimum_base_supply_apy must be absent: presence, including a value of zero or null, returns 422 UNSUPPORTED_ETHEREUM_MINIMUM_RATE before payment settlement. Supplying opportunity_id requires protocol. Ethereum JSON requests are limited to 16384 UTF-8 bytes.",
"additionalProperties": false,
"required": [
"target_environment",
"asset",
"amount"
],
"properties": {
"target_environment": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"chain_id"
],
"properties": {
"kind": {
"type": "string",
"const": "evm_chain"
},
"chain_id": {
"type": "integer",
"const": 1
},
"network_name": {
"type": "string",
"const": "ethereum"
}
}
},
"asset": {
"type": "string",
"enum": [
"USDC",
"WETH",
"EURC",
"cbBTC",
"USDT",
"USDS",
"WBTC",
"wstETH"
]
},
"amount": {
"type": "string",
"pattern": "^\\s*(0|[1-9][0-9]*)(\\.[0-9]+)?\\s*$",
"not": {
"pattern": "^\\s*0(\\.0+)?\\s*$"
},
"maxLength": 256,
"description": "Positive whole-token decimal quantity of the requested holding; fractional tokens are allowed. The original amount text is limited to 256 characters before trimming. After the existing decimal trim, conversion must be exact at the holding's token precision, without rounding, and the atomic integer must satisfy 1 <= amount <= 2^256 - 1. USDC, EURC and USDT use 6 decimals; cbBTC and WBTC use 8; WETH, USDS and wstETH use 18. Invalid amount text, precision or uint256 bounds is a malformed request (400 BAD_REQUEST).",
"x-lor-token-decimals": {
"USDC": 6,
"WETH": 18,
"EURC": 6,
"cbBTC": 8,
"USDT": 6,
"USDS": 18,
"WBTC": 8,
"wstETH": 18
},
"x-lor-atomic-unit-range": {
"minimum": "1",
"maximum": "115792089237316195423570985008687907853269984665640564039457584007913129639935"
}
},
"protocol": {
"type": "string",
"enum": [
"aave-v3",
"morpho-blue"
],
"description": "Optional protocol filter."
},
"opportunity_id": {
"type": "string",
"minLength": 1,
"description": "Optional approved opportunity identifier; requires protocol."
}
},
"not": {
"required": [
"minimum_base_supply_apy"
]
},
"dependencies": {
"opportunity_id": [
"protocol"
]
}
},
{
"type": "object",
"properties": {
"target_environment": {
"type": "object",
"properties": {
"kind": {
"const": "evm_chain"
},
"chain_id": {
"const": 42161
},
"network_name": {
"const": "arbitrum"
}
},
"required": [
"kind",
"chain_id"
],
"additionalProperties": false
},
"asset": {
"enum": [
"USDC",
"WETH",
"WBTC",
"wstETH"
]
},
"amount": {
"type": "string",
"pattern": "^\\s*(0|[1-9][0-9]*)(\\.[0-9]+)?\\s*$",
"not": {
"pattern": "^\\s*0(\\.0+)?\\s*$"
},
"maxLength": 256,
"description": "Positive whole-token decimal amount. Original text is limited to 256 characters before trimming; conversion must be exact at the token precision and fit 1..2^256-1 atomic units. JSON is limited to 16384 UTF-8 bytes.",
"x-lor-token-decimals": {
"USDC": 6,
"WETH": 18,
"WBTC": 8,
"wstETH": 18
},
"x-lor-atomic-unit-range": {
"minimum": "1",
"maximum": "115792089237316195423570985008687907853269984665640564039457584007913129639935"
}
},
"protocol": {
"enum": [
"aave-v3",
"morpho-blue",
"euler-evk",
"dolomite"
]
},
"opportunity_id": {
"type": "string",
"minLength": 1
}
},
"required": [
"target_environment",
"asset",
"amount"
],
"additionalProperties": false,
"title": "Arbitrum42161Request",
"not": {
"required": [
"minimum_base_supply_apy"
]
},
"dependencies": {
"opportunity_id": [
"protocol"
]
},
"description": "Finite lending endpoint diagnostics for the same already-held token. minimum_base_supply_apy must be absent; presence, including zero or null, returns 422 UNSUPPORTED_ARBITRUM_MINIMUM_RATE before payment construction. opportunity_id requires protocol. No asset conversion, incentives or staking growth."
}
]
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"request_id",
"service",
"verdict",
"result",
"payment"
],
"properties": {
"request_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"service": {
"type": "string",
"const": "lor"
},
"verdict": {
"type": "string",
"enum": [
"PROCEED",
"PROCEED_WITH_LIMIT",
"BLOCKED",
"UNKNOWN"
]
},
"result": {
"type": "object",
"description": "Non-exhaustive result overview. Complete response contract: https://api.alphabuild.xyz/openapi.json"
},
"payment": {
"type": "object",
"required": [
"status",
"x402_implemented"
],
"properties": {
"status": {
"type": "string"
},
"x402_implemented": {
"type": "boolean"
}
}
}
}
}
},
"required": [
"type"
]
}