Makers (creating intents)
Create and manage intents by selecting a market, setting constraints, and ensuring funding and authorizations remain valid.
When to use intents
You want to post a specific rate for a specific term, rather than taking the current best available fill immediately.
You want execution to occur only if constraints can be satisfied (market, rate, size, and validity conditions).
What an intent is scoped to (Term Repo)
Every intent targets a specific Term Repo (market). The market defines the core parameters the intent must operate within, including:
Maturity date
Loan token (purchase token)
Collateral token(s)
Collateral ratio / risk parameters
An intent cannot change these market parameters. If you want a different maturity or token pair, you must choose (or deploy) a different market.
If the market you want does not exist, you can deploy a new one via a factory deploy (see Deploy a new market).
What an intent constrains
Direction: borrow or lend.
Rate: the minimum (for lending) or maximum (for borrowing) rate you are willing to accept.
Size: the amount you want to borrow or lend (and any minimum fill constraints, where applicable).
Expiry: how long the intent remains valid before it can no longer be matched.
Optional taker: if set, only the specified taker may fill the intent; otherwise anyone may fill it.
Partial fills: an intent may fill for less than the full size (until fully filled, expired, or cancelled)
Intent types (onchain vs offchain)
Terminal 1 supports two ways to express intents:
Onchain intents: created and stored onchain.
Offchain intents (signature-based): expressed as signed messages and submitted offchain.
Both represent the same economic intent. The difference is how the intent is authorized and how it is surfaced for matching and execution.
If you are using a Safe, use onchain intents by default.
Maker Funding sources (wallet + deployed capital)
When you create an intent, you choose where the funds will come from at execution time. This allows you to place an order using deployed capital rather than keeping idle tokens in your wallet.
Supported funding source types include:
Wallet (standard): fund the intent from your wallet token balance.
ERC‑4626 vaults: fund the intent by withdrawing available assets from an ERC‑4626 vault.
Aave: fund the intent using Aave liquidity in either of two ways:
Withdraw from Aave: use assets you have already supplied to Aave.
Borrow from Aave: borrow against your available borrowing capacity on Aave.
Morpho: fund the intent using Morpho liquidity in either of two ways:
Withdraw from Morpho: use assets you have already supplied to the relevant Morpho market.
Borrow from Morpho: borrow against your available borrowing capacity in that Morpho market.
The UI uses the selected funding source to estimate what is available and to construct the correct execution parameters for settlement.
Preview vs execution
When creating an intent: the UI helps verify that the selected market, funding source, approvals, and authorizations are consistent with the intent. Creating an intent does not mean it will execute immediately.
When a taker fills: Terminal 1 checks validity at execution time. If the checks pass, Terminal 1 settles the matched amount and executes any dependent route steps where supported.
Common reasons intents don't execute
No taker chooses to fill the intent at the specified market/rate/size.
The intent expires before a fill occurs
Funding source availability changed (wallet balance, Aave/Morpho capacity).
Approvals/authorizations were reduced or revoked
Before you submit
Confirm the market (maturity, tokens, collateral parameters).
Confirm constraints (direction, rate, size, expiry, optional taker).
Confirm the funding source and that it can provide the intended size.
Confirm approvals/authorizations for the funding source.
Last updated