Skip to main content
Enso turns product intent into executable transaction data. Most integrations combine a small set of primitives: discover what can be shown, read what the user owns, request a route or bundle, submit the returned transaction, and refresh balances after execution.

The Enso Mental Model

PrimitiveWhat it meansPrimary endpoint or guide
Tokens and protocol dataWhat your product can show, compare, or route into. Use this for APY, TVL, protocol, chain, decimals, logos, and underlying assets.GET /v1/tokens, Protocol Data
BalancesWhat the user owns before and after execution, including wallet assets and DeFi position tokens.GET /v1/wallet/balances, Balances
RouteEnso chooses the path from one source asset or position into one final destination. Use this for swaps, zaps, deposits, withdrawals, migrations, and simple cross-chain routes.POST /v1/shortcuts/route, Route
BundleYour product specifies an ordered list of actions and Enso turns them into one transaction. Use this when the workflow needs custom sequencing, dynamic outputs, checks, or actions Route does not cover.POST /v1/shortcuts/bundle, Bundle
ApprovalAn ERC-20 approval transaction required only when the user spends through the Enso router and allowance is not already high enough.GET /v1/wallet/approve
Bridge statusStatus tracking for async cross-chain execution after the source-chain transaction is submitted.Bridge Status
QuoterValidation for transactions generated outside Enso. Enso route and action responses are already simulated as part of the Enso flow.Quoter

Standard Build Flow

  1. Discover supported chains, tokens, protocols, actions, and yield destinations.
  2. Read the user’s balances and current DeFi positions.
  3. Build a Route request when Enso should find the path, or a Bundle request when your product controls the action sequence.
  4. Ask for approval only when the route or bundle spends an ERC-20 through the router and allowance is insufficient.
  5. Submit the returned transaction as-is.
  6. Track bridge status only for async cross-chain routes.
  7. Refresh balances and position metadata after confirmation.

Route vs Bundle

Use caseUse RouteUse Bundle
Token swapYesRarely
Deposit into one tokenized positionYesOnly if custom actions are required
Withdraw or redeem from one positionYesOnly if follow-up actions are required
Position migrationYesUse Bundle when fixed action order matters
Harvest, borrow, repay, leverage, or claimNoYes
Cross-chain route into a destination token or positionYesUse Bundle only for custom post-bridge logic
Multiple checks, dynamic outputs, or custom callbacksNoYes
Route returns a signer-ready tx for the path Enso selected. Bundle returns a signer-ready transaction built from the actions your product specified.

Product Entry Points

ProductStart hereEssential surface
Earn tab or yield marketplaceEnso EarnToken catalog, balances, route, conditional approval, refreshed balances
Wallet swaps and zapsRouteToken discovery, route, returned tx, refreshed balances
Cross-chain depositCrosschain RoutingSource-chain route, bridge callback, bridge status, destination balance
Custom multi-action workflowBundleAction list, dynamic outputs, checks, returned transaction
Third-party transaction validationQuoterSimulate and validate calldata generated outside Enso

UI Fields To Plan For

ScreenData to showSource
CatalogAPY, TVL, protocol, chain, token symbol, decimals, underlying assets, logoGET /v1/tokens
PortfolioAsset amount, USD value, token metadata, current DeFi position tokensGET /v1/wallet/balances plus GET /v1/tokens
Quote reviewExpected output, minimum output, gas, price impact, selected route, transaction targetPOST /v1/shortcuts/route
ApprovalToken, spender, amount, chain, approval transactionGET /v1/wallet/approve
Post-executionNew source balance, new destination position, any dust, current APY and metadataGET /v1/wallet/balances plus GET /v1/tokens

Updated