41 protocols · 10 chains · non-custodial

Add multi-step DeFi to your app. Your users never leave.

Your users want an outcome — earn on idle funds, move to the right chain, hedge a position. Smeltor turns that goal into a composed, ready-to-sign plan, right inside your product. Their wallet signs. You never build a DeFi integration again.

Non-custodial·your wallet signs·we never touch funds
resolve.ts
const plan = await smeltor.resolve({
  wallet,
  goal: "earn yield on my USDC",
})

// → ranked options + a sequenced,
//   ready-to-sign plan. The wallet signs.
The problem

One goal in. A whole plan out — without the handoffs.

Today your users leave to do the hard part. Every hop is a chance to lose them to another app.

01User wants yield. They leave for a DEX to swap into the right asset.
02Wrong chain. They open a bridge in another tab and wait.
03They hunt for a lending market and compare APYs by hand.
04Four signatures, three apps later — they may not come back.
With Smeltor: one composed plan, inside your product.
The demo

One goal. Watch the plan come together.

A goal becomes ranked options and a sequenced, ready-to-sign plan — composed across protocols and chains, inside your app.

your-app · embedded smeltor.resolve()
User goal
>
earn idle USDC on Arbitrum highest APY
Ranked optionsby APY
Aave V35.42%
TVL $1.2B · audited · 3y liveTop of rank
Morpho5.18%
TVL $640M · audited · 2y live
Fluid4.91%
TVL $310M · audited · 1y live
Composed plan
1 Swap USDC.e → USDC swap 0x38ed1739…0a4b · best of 6 aggregators
2 Bridge to Base auto-inserted 0x9f3df0a1…c2e7 · Across · ~90s
3 Supply to Aave V3 earn 0x617ba037…0000 · Pool.supply(USDC, amount, user)
Why this plan

Your funds are USDC.e on Arbitrum; the highest-ranked market is Aave V3 on Base. A swap and a bridge are required to get there — so we inserted them.

Options are ranked by APY, the criterion you asked for. Aave leads on yield with the deepest TVL and longest track record. Smeltor presents the options; the user's wallet executes the one they pick.

3
steps
2
chains
1
signing flow

Calldata shown is illustrative of the response shape.

Capabilities

Most layers hand you one action. Smeltor composes across them.

Compose · the core

Multi-step, across chains, in one plan.

A goal that needs four protocols becomes one sequenced plan with the bridge inserted automatically. We present the options; your agent chooses; the user's wallet executes.

Swap Bridge Earn = one signing flow

Earn

Yield options ranked across Aave, Moonwell, Morpho, Fluid.

Perps

Long or short with leverage on Hyperliquid.

Swap

Best rate across 6 aggregators. Automatic failover.

Bridge

Cross-chain in under 2 minutes via Across and Stargate.

Borrow

Collateralised lending with health-factor projection.

Why it sticks

Forty protocols change forever. We absorb it.

Protocol upgrades, fee changes, deprecated markets, new chains — an integration you build yourself is a maintenance treadmill. We run it so you don't.

Build it yourself: 41 integrations to write, then maintain as each one ships breaking changes.
With Smeltor: one integration. Protocol churn lands on us, not your roadmap.
New chain ships: it appears in your app with no work on your side.
Composition logic — routing, bridge insertion, ranking — is maintained centrally and improves for everyone.
Revenue

You earn on every transaction your users make.

1–500 bps
Add an integrator fee to any call as integer basis points. It's collected in the same signing flow as the user's action — not batched, not claimed later, deducted from the input amount. Smeltor's base fee is separate.
Where we are

Early, and honest about it. Smeltor is in developer preview. The architecture is non-custodial and deploys zero smart contracts — funds never touch us, so the blast radius of any issue is limited to plan generation, not custody. A formal third-party review of the calldata-generation layer is planned before production partner onboarding. Build with it, test thoroughly, start small. We'd rather tell you that than pretend otherwise.

41
Protocols
10
Chains
6
Composable actions
0
Smart contracts deployed
Questions

Questions.

Is Smeltor custodial?
No. We never hold, control, or have access to user funds. Every transaction is signed by the user's own wallet and sent directly to the protocol. Smeltor presents the options and returns calldata — the user's wallet executes.
What exactly do I embed?
One API. You send a wallet and a goal; you get back ranked options and a sequenced, ready-to-sign plan. You render it in your own UI and pass each step to the user's wallet to sign. No SDK lock-in, no contracts to deploy.
How is this different from a router or aggregator?
A router gives you one action — the best swap, the best bridge. Smeltor composes across actions and chains into a single plan, inserts the bridge when one is needed, and ranks the options behind each step. It presents; your agent or user chooses; the wallet executes.
Who decides which option is used?
You do. Every response returns options ranked by an explicit, stated criterion — never a hidden "recommended" pick. Your agent or user chooses which to execute, and the user's own wallet signs it. You can also pin a specific protocol by passing it explicitly.

Three lines to add DeFi. Your users stay home.

resolve.ts
const plan = await smeltor.resolve({
  wallet,
  goal: "earn yield on my USDC",
})