# 1delta > One HTTP API for DeFi lending across 186 protocols and 47 EVM chains. Query normalized market data, and build ready-to-sign transaction calldata for deposits, borrows, leveraged loops, collateral and debt swaps, and cross-lender migrations — each as a single atomic transaction. - Base URL: `https://portal.1delta.io` - Auth: optional `x-api-key` header. Requests without one are rate limited per IP; an unrecognised key is ignored, never rejected. - Every response is `{ success, data, actions }` on success and `{ success: false, error: { code, message } }` on failure. Branch on `success`, not on the HTTP status. - Action endpoints return calldata only. They never sign or broadcast. Execute `actions.permissions` first, then exactly one entry from `actions.transactions` or `actions.alternatives`. - Markets are addressed by `marketUid`, formatted `lender:chainId:address`. ## Start here - [Quickstart](https://docs.1delta.io/quickstart): Go from zero to a signed on-chain lending transaction in four HTTP calls. - [Market identifiers](https://docs.1delta.io/market-identifiers): How marketUid, lender ids and chain ids are formatted, and how to look them up. - [Errors & retries](https://docs.1delta.io/errors): The error envelope, what each code means, and how to retry safely. - [What is 1delta](https://docs.1delta.io/): The ultimate lending aggregation API suite. One API for all DeFi lending protocols. - [Lending](https://docs.1delta.io/lending): Lending - [Looping](https://docs.1delta.io/looping): Looping ## Machine-readable - [llms-full.txt](https://docs.1delta.io/llms-full.txt): every endpoint, parameter, field and example as plain text. Start here if you are an agent. - [openapi.json](https://docs.1delta.io/openapi.json): OpenAPI 3.1, enriched — this is what the site renders. - [Raw upstream spec](https://portal.1delta.io/v1/openapi.json): straight from the API server, without the docs enrichment. ## API reference (106 endpoints) ### Data **Lending (Data)** - [GET /v1/data/lending/comparables](https://docs.1delta.io/1delta-api/comparable-rates-for-one-pair): Comparable rates for one pair - [GET /v1/data/lending/irm](https://docs.1delta.io/1delta-api/irm-rate-curves): IRM rate curves - [GET /v1/data/lending/irm/depth](https://docs.1delta.io/1delta-api/rate-at-depth-rate-vs-borrow-supply-amount): Rate-at-depth (rate vs borrow/supply amount) - [GET /v1/data/lending/isolated-markets/meta](https://docs.1delta.io/1delta-api/get-isolated-market-metadata): Get isolated market metadata - [GET /v1/data/lending/latest](https://docs.1delta.io/1delta-api/lending-latest): Get latest lending data (paginated by lender) - [GET /v1/data/lending/lenders](https://docs.1delta.io/1delta-api/lending-lenders): Enumerate available lenders - [GET /v1/data/lending/mode](https://docs.1delta.io/1delta-api/list-mode-categories): List mode categories - [GET /v1/data/lending/mode/analysis](https://docs.1delta.io/1delta-api/mode-analysis-on-chain): Mode analysis (on-chain) - [POST /v1/data/lending/mode/analysis](https://docs.1delta.io/1delta-api/mode-analysis-with-body): Mode analysis (with body) - [GET /v1/data/lending/next-account](https://docs.1delta.io/1delta-api/next-available-sub-account): Next available sub-account - [GET /v1/data/lending/orders](https://docs.1delta.io/1delta-api/lending-orders): Your open orders (unified) - [GET /v1/data/lending/pairs](https://docs.1delta.io/1delta-api/get-lending-pairs): Get lending pairs - [GET /v1/data/lending/pairs/leverage](https://docs.1delta.io/1delta-api/browse-all-leverage-pairs): Browse all leverage pairs - [GET /v1/data/lending/pairs/optimize](https://docs.1delta.io/1delta-api/collateral-to-debt-optimizer): Collateral ⇄ debt optimizer - [GET /v1/data/lending/pools](https://docs.1delta.io/1delta-api/get-lending-pools): Get lending pools - [GET /v1/data/lending/pools/by-config](https://docs.1delta.io/1delta-api/get-pools-grouped-by-config): Get pools grouped by config - [GET /v1/data/snapshots](https://docs.1delta.io/1delta-api/get-lending-snapshots): Get lending snapshots **Loop (Data)** - [GET /v1/data/loop/range/close](https://docs.1delta.io/1delta-api/max-close-range): Max close range - [POST /v1/data/loop/range/close](https://docs.1delta.io/1delta-api/max-close-range-with-body): Max close range (with body) - [GET /v1/data/loop/range/collateral-swap](https://docs.1delta.io/1delta-api/max-collateral-swap-range): Max collateral swap range - [POST /v1/data/loop/range/collateral-swap](https://docs.1delta.io/1delta-api/max-collateral-swap-range-with-body): Max collateral swap range (with body) - [GET /v1/data/loop/range/debt-swap](https://docs.1delta.io/1delta-api/max-debt-swap-range): Max debt swap range - [POST /v1/data/loop/range/debt-swap](https://docs.1delta.io/1delta-api/max-debt-swap-range-with-body): Max debt swap range (with body) - [GET /v1/data/loop/range/leverage](https://docs.1delta.io/1delta-api/max-leverage-range): Max leverage range - [POST /v1/data/loop/range/leverage](https://docs.1delta.io/1delta-api/max-leverage-range-with-body): Max leverage range (with body) **Yields** - [GET /v1/data/lending/yields/by-asset/latest](https://docs.1delta.io/1delta-api/get-latest-yields-by-asset): Get latest yields by asset - [GET /v1/data/lending/yields/by-asset/snapshots](https://docs.1delta.io/1delta-api/get-yield-snapshots-by-asset): Get yield snapshots by asset - [GET /v1/data/lending/yields/by-lender/latest](https://docs.1delta.io/1delta-api/get-latest-yields-by-lender): Get latest yields by lender - [GET /v1/data/lending/yields/by-lender/snapshots](https://docs.1delta.io/1delta-api/get-yield-snapshots-by-lender): Get yield snapshots by lender - [GET /v1/data/lending/yields/intrinsic/latest](https://docs.1delta.io/1delta-api/get-latest-intrinsic-yields): Get latest intrinsic yields - [GET /v1/data/lending/yields/intrinsic/snapshots](https://docs.1delta.io/1delta-api/get-intrinsic-yield-snapshots): Get intrinsic yield snapshots **User Positions** - [GET /v1/data/lending/user-positions](https://docs.1delta.io/1delta-api/lending-user-positions): User positions - [POST /v1/data/lending/user-positions/parse](https://docs.1delta.io/1delta-api/parse-user-positions): Parse user positions - [GET /v1/data/lending/user-positions/rpc-call](https://docs.1delta.io/1delta-api/user-position-rpc-calls): User position RPC calls **Prices** - [GET /v1/data/prices/latest](https://docs.1delta.io/1delta-api/get-latest-prices): Get latest prices - [GET /v1/data/prices/latest-asof](https://docs.1delta.io/1delta-api/get-prices-as-of-x-hours-ago): Get prices as of X hours ago - [POST /v1/data/sparklines](https://docs.1delta.io/1delta-api/sparkline-price-ratio-time-series): Sparkline price-ratio time series **Token** - [GET /v1/data/token/available](https://docs.1delta.io/1delta-api/get-available-lending-assets): Get available lending assets - [GET /v1/data/token/balances](https://docs.1delta.io/1delta-api/token-balances): Token balances - [GET /v1/data/token/balances/lending](https://docs.1delta.io/1delta-api/lending-token-balances): Lending token balances - [POST /v1/data/token/balances/parse](https://docs.1delta.io/1delta-api/parse-token-balances): Parse token balances - [GET /v1/data/token/balances/rpc-call](https://docs.1delta.io/1delta-api/token-balance-rpc-calls): Token balance RPC calls - [GET /v1/data/token/list](https://docs.1delta.io/1delta-api/get-token-list-for-a-chain): Get token list for a chain - [GET /v1/data/token/prices](https://docs.1delta.io/1delta-api/token-prices-by-address): Token prices by address **Vaults (Data)** - [GET /v1/data/vaults](https://docs.1delta.io/1delta-api/vaults): Get vault data across providers - [GET /v1/data/vaults/user](https://docs.1delta.io/1delta-api/vaults-user): Get user balances across ERC-4626 vaults - [GET /v1/data/vaults/validators](https://docs.1delta.io/1delta-api/vaults-validators): Get selectable validators for an LST deposit - [GET /v1/data/vaults/withdrawals](https://docs.1delta.io/1delta-api/vaults-withdrawals): Get a user's pending vault withdrawal requests **General** - [GET /v1/data/chains](https://docs.1delta.io/1delta-api/get-supported-chains): Get supported chains - [GET /v1/data/health](https://docs.1delta.io/1delta-api/health-check): Health check - [GET /v1/data/lender-ids](https://docs.1delta.io/1delta-api/get-lender-ids): Get lender IDs - [GET /v1/data/meta/lending/complete](https://docs.1delta.io/1delta-api/complete-lending-metadata): Complete lending metadata - [GET /v1/data/rpcs](https://docs.1delta.io/1delta-api/get-rpc-endpoints-for-chains): Get RPC endpoints for chains ### Actions **Index** - [GET /v1/actions](https://docs.1delta.io/1delta-api/list-action-endpoints): List action endpoints **Lending (Actions)** - [GET /v1/actions/lending/borrow](https://docs.1delta.io/1delta-api/lending-borrow): Borrow - [POST /v1/actions/lending/borrow](https://docs.1delta.io/1delta-api/borrow-simulate): Borrow (simulate) - [GET /v1/actions/lending/deposit](https://docs.1delta.io/1delta-api/lending-deposit): Deposit - [POST /v1/actions/lending/deposit](https://docs.1delta.io/1delta-api/deposit-simulate): Deposit (simulate) - [GET /v1/actions/lending/enable-collateral](https://docs.1delta.io/1delta-api/enable-disable-collateral): Enable/disable collateral - [GET /v1/actions/lending/mode](https://docs.1delta.io/1delta-api/switch-mode): Switch mode - [GET /v1/actions/lending/repay](https://docs.1delta.io/1delta-api/lending-repay): Repay - [POST /v1/actions/lending/repay](https://docs.1delta.io/1delta-api/repay-simulate): Repay (simulate) - [GET /v1/actions/lending/repay-with-atoken](https://docs.1delta.io/1delta-api/repay-with-atoken): Repay with aToken - [GET /v1/actions/lending/simulate](https://docs.1delta.io/1delta-api/lending-simulate): Simulate a base lending operation on-chain - [GET /v1/actions/lending/withdraw](https://docs.1delta.io/1delta-api/lending-withdraw): Withdraw - [POST /v1/actions/lending/withdraw](https://docs.1delta.io/1delta-api/withdraw-simulate): Withdraw (simulate) **Loop (Actions)** - [GET /v1/actions/loop/close](https://docs.1delta.io/1delta-api/close-margin-position): Close margin position - [POST /v1/actions/loop/close](https://docs.1delta.io/1delta-api/close-position-simulate): Close position (simulate) - [GET /v1/actions/loop/collateral-swap](https://docs.1delta.io/1delta-api/collateral-swap): Collateral swap - [POST /v1/actions/loop/collateral-swap](https://docs.1delta.io/1delta-api/collateral-swap-simulate): Collateral swap (simulate) - [GET /v1/actions/loop/debt-swap](https://docs.1delta.io/1delta-api/debt-swap): Debt swap - [POST /v1/actions/loop/debt-swap](https://docs.1delta.io/1delta-api/debt-swap-simulate): Debt swap (simulate) - [GET /v1/actions/loop/leverage](https://docs.1delta.io/1delta-api/leverage-loop): Leverage (loop) - [POST /v1/actions/loop/leverage](https://docs.1delta.io/1delta-api/leverage-loop-simulate): Leverage loop (simulate) - [GET /v1/actions/loop/migrate](https://docs.1delta.io/1delta-api/loop-migrate): Migrate position (cross-lender) - [GET /v1/actions/loop/migrate/targets](https://docs.1delta.io/1delta-api/loop-migrate-targets): Migration targets for a position - [GET /v1/actions/loop/refinance](https://docs.1delta.io/1delta-api/refinance-roll-over-move-debt-to-a-fixed-term): Refinance / roll-over (move debt to a fixed term) **Swap** - [GET /v1/actions/swap/spot](https://docs.1delta.io/1delta-api/spot-swap-meta-aggregator): Spot swap (meta-aggregator) - [GET /v1/actions/swap/x-chain](https://docs.1delta.io/1delta-api/cross-chain-swap-bridge-aggregation): Cross-chain swap (bridge aggregation) **Vaults (Actions)** - [GET /v1/actions/vaults/deposit](https://docs.1delta.io/1delta-api/vault-deposit): Vault deposit - [GET /v1/actions/vaults/gmx](https://docs.1delta.io/1delta-api/vaults-gmx): GMX V2 GM / GLV deposit · withdraw · cancel - [GET /v1/actions/vaults/lst](https://docs.1delta.io/1delta-api/vaults-lst): LST / LRT mint · withdraw-request · claim · cancel - [GET /v1/actions/vaults/savings](https://docs.1delta.io/1delta-api/vaults-savings): Savings-vault request-withdraw · claim · deposit · cancel - [GET /v1/actions/vaults/withdraw](https://docs.1delta.io/1delta-api/vault-withdraw): Vault withdraw - [POST /v1/actions/vaults/withdraw](https://docs.1delta.io/1delta-api/vault-withdraw-with-caller-supplied-share-balance): Vault withdraw (with caller-supplied share balance) **Midnight** - [GET /v1/actions/midnight/cancel](https://docs.1delta.io/1delta-api/midnight-cancel): Cancel offer - [POST /v1/actions/midnight/finalize](https://docs.1delta.io/1delta-api/midnight-finalize): Make offer (finalize + publish) - [GET /v1/actions/midnight/make](https://docs.1delta.io/1delta-api/midnight-make): Make offer (build typed-data) **Term** - [POST /v1/actions/term/bid](https://docs.1delta.io/1delta-api/term-bid): Lock borrow bids (auction) - [GET /v1/actions/term/list](https://docs.1delta.io/1delta-api/term-list): Create a secondary listing - [POST /v1/actions/term/offer](https://docs.1delta.io/1delta-api/term-offer): Lock lend offers (auction) - [POST /v1/actions/term/reveal-bids](https://docs.1delta.io/1delta-api/term-reveal-bids): Reveal locked bids - [POST /v1/actions/term/reveal-offers](https://docs.1delta.io/1delta-api/term-reveal-offers): Reveal locked offers - [GET /v1/actions/term/unlist](https://docs.1delta.io/1delta-api/term-unlist): Cancel a secondary listing - [GET /v1/actions/term/unlock-bids](https://docs.1delta.io/1delta-api/term-unlock-bids): Unlock (cancel) bids - [GET /v1/actions/term/unlock-offers](https://docs.1delta.io/1delta-api/term-unlock-offers): Unlock (cancel) offers **Allocate** - [POST /v1/actions/allocate](https://docs.1delta.io/1delta-api/allocate-multi-op-batch): Allocate (multi-op batch) ### Other **Data › Bridge** - [GET /v1/data/bridge/status](https://docs.1delta.io/1delta-api/bridge-transfer-status): Bridge transfer status **Actions › Liquity** - [POST /v1/actions/liquity/adjust-zombie](https://docs.1delta.io/1delta-api/liquity-adjust-zombie): Re-adjust a zombie trove - [GET /v1/actions/liquity/claim-surplus](https://docs.1delta.io/1delta-api/liquity-claim-surplus): Claim liquidation collateral surplus - [GET /v1/actions/liquity/close](https://docs.1delta.io/1delta-api/liquity-close): Close a trove - [POST /v1/actions/liquity/open](https://docs.1delta.io/1delta-api/liquity-open): Open a trove - [POST /v1/actions/liquity/set-rate](https://docs.1delta.io/1delta-api/liquity-set-rate): Adjust the user-set interest rate **Actions › River** - [GET /v1/actions/river/claim-surplus](https://docs.1delta.io/1delta-api/river-claim-surplus): Claim collateral surplus - [GET /v1/actions/river/close](https://docs.1delta.io/1delta-api/river-close): Close the trove - [POST /v1/actions/river/open](https://docs.1delta.io/1delta-api/river-open): Open a trove ## Other pages - [Contract Addresses](https://docs.1delta.io/contract-addresses) - [across](https://docs.1delta.io/smart-contract-api/bridge/across) - [bridge](https://docs.1delta.io/smart-contract-api/bridge/bridge) - [stargate](https://docs.1delta.io/smart-contract-api/bridge/stargate) - [entrypoint](https://docs.1delta.io/smart-contract-api/entrypoint) - [close](https://docs.1delta.io/smart-contract-api/example-operations/close) - [collateral-swap](https://docs.1delta.io/smart-contract-api/example-operations/collateral-swap) - [debt-swap](https://docs.1delta.io/smart-contract-api/example-operations/debt-swap) - [leverage](https://docs.1delta.io/smart-contract-api/example-operations/leverage) - [migration](https://docs.1delta.io/smart-contract-api/example-operations/migration) - [external-call](https://docs.1delta.io/smart-contract-api/external-call) - [flash-loan](https://docs.1delta.io/smart-contract-api/flash-loan) - [accepted-sources](https://docs.1delta.io/smart-contract-api/flash-loan/accepted-sources) - [singletons](https://docs.1delta.io/smart-contract-api/flash-loan/singletons) - [standardized-interface](https://docs.1delta.io/smart-contract-api/flash-loan/standardized-interface) - [lending](https://docs.1delta.io/smart-contract-api/lending) - [aave](https://docs.1delta.io/smart-contract-api/lending/aave) - [compound-v2](https://docs.1delta.io/smart-contract-api/lending/compound-v2) - [compound-v3](https://docs.1delta.io/smart-contract-api/lending/compound-v3) - [morpho](https://docs.1delta.io/smart-contract-api/lending/morpho) - [margin](https://docs.1delta.io/smart-contract-api/margin) - [operations](https://docs.1delta.io/smart-contract-api/operations) - [summary](https://docs.1delta.io/smart-contract-api/summary) - [transfers](https://docs.1delta.io/smart-contract-api/transfers)