Earn Infrastructure made for neo banks.

Earn Infrastructure made for neo banks.

Earn Infrastructure made for neo banks.

The earn product your compliance team can actually approve. No pooled funds, no bank runs, no bridge exposure, no gas. Live in days, not an 18-month build.

One SDK. Compliance-ready. Revenue from day one.

One SDK. Compliance-ready. Revenue from day one.

One SDK. Compliance-ready. Revenue from day one.

1

1

You Don't Build The Stack

Building earn infra is an 18-month project your team runs and compliance vets. One SDK replaces it, with no in-house stack to certify.

Compliance read → nothing new to audit internally

2

2

You Never Touch User Funds

Every user owns an isolated on-chain account, never pooled, never held by you or Blend. No custody means no money-transmitter exposure.

Compliance read → no custody, no commingling, no license question

3

3

You're Not Locked to One Protocol

Blend routes across Morpho, Aave, Compound and more, inside your caps, and runs none of its own yield. One protocol breaking is capped, not catastrophic.

Compliance read → concentration risk capped, not assumed

Bank runs need a pool. Blend doesn't have one.

Bank runs need a pool. Blend doesn't have one.

Bank runs need a pool. Blend doesn't have one.

Every user owns an isolated on-chain account, same address on every chain. A run needs a shared pot to race for and a queue to beat. There's neither, so there's nothing to run on. Non-custodial by architecture, not by promise.

DOOR 1

Your app

Where users bank every day. Deposits, withdrawals, balances, statements.

Not required for access

DOOR 2

Blend

The rails underneath. Routing, rebalancing, monitoring, reporting.

Not required for access

DOOR 3

Direct on chain

The user's own smart account, reachable without Blend and without your app.

Always open

Ten audits. Three firms. Zero critical or high findings, ever.

Cantina · Sherlock · Zellic

If Blend disappears tomorrow, your users lose nothing.

If Blend disappears tomorrow, your users lose nothing.

If Blend disappears tomorrow, your users lose nothing.

Removed by design

No bank runs

No shared pot to drain, no front of the line to beat. Every balance sits in its own account.

No bridge exposure

Same deterministic address on every chain, balances native per chain. In an emergency, users withdraw on each chain directly. No bridge required.

No commingled funds

One account per user. Funds never mix, so reconciliation and audits stay clean.

No custody risk

Blend never touches user funds. Neither do you. Nothing on either balance sheet to lose.

No trapped deposits

No withdrawal queue to freeze. Funds stay liquid and exitable on chain at any time.

No gas fees.

You and your users never see gas. Covered inside the flat fee, so costs stay predictable.

Two kinds of yield. One set of controls.

Two kinds of yield. One set of controls.

Two kinds of yield. One set of controls.

DeFi is not risky. Uninformed DeFi is. Every product is risk-rated before it can enter a basket; the difference between them is liquidity.

Live

DeFi Vaults

Instant liquidity for the balances users spend from. Routed and rebalanced automatically inside your caps, with every vault rated Prime, Core, or Edge.

Morpho · Aave · Compound · Spark · Pendle

Coming soon

Tokenized RWAs

Term yield backed by treasury-grade collateral, with T+1 to T+5 redemption. Kept separate from instant-liquidity balances by account type, so users always know what they hold.

T-Bills · Treasuries · Money Market Funds

Liquidity is a design decision. Spendable balances stay instant. Term savings earn the treasury rate. You set the mix per account type. Don't want to hand-pick? Apply a template: every vault rated Prime, in one click.

Liquidity is a design decision. Spendable balances stay instant. Term savings earn the treasury rate. You set the mix per account type. Don't want to hand-pick? Apply a template: every vault rated Prime, in one click.

Liquidity is a design decision. Spendable balances stay instant. Term savings earn the treasury rate. You set the mix per account type. Don't want to hand-pick? Apply a template: every vault rated Prime, in one click.

Philidor

Full control over your yield operations.

Full control over your yield operations.

Full control over your yield operations.

Approve strategies, monitor risk, and respond to incidents all from one interface.

Basket Configuration
v2.4.1
ProtocolAlloc.CapBufferStatus
Morpho USDCBase
42%50%5%
Active
Aave V3Arbitrum
28%35%8%
Active
Compound V3Optimism
18%25%6%
Active
Sky sUSDSEthereum
12%20%10%
Paused
Total allocation: 100%
Reject
Approve

Operations Console

Approve strategies, set protocol caps, configure liquidity buffers, and control every parameter from a single dashboard. Nothing changes without your sign-off.

Monitoring + Alerting

Real-time protocol health, yield performance, and risk signals. Alerts that fire before something becomes a problem.

Emergency Controls

Pause deposits, freeze exposure, or restrict activity in seconds. Every action is limited to risk-reducing moves only.

A flat fee and a new revenue line.

A flat fee and a new revenue line.

A flat fee and a new revenue line.

25 bps, flat, on routed balances.

No minimums, no setup fees, no spread taken from your users' yield. Gas is covered inside the fee, so neither you nor your users ever see it. You set the split between user APY and your margin, and keep the spread.

Live

Per-User Audit Logs

Every action on every account, exportable.

Live

Compliance Reporting

Positions, flows, caps, and exceptions, in a format a reviewer can file.

Coming soon

Account Statements

Monthly per-user statements the way a bank issues them.

Coming soon

Tax Reports

Per-user, per-jurisdiction yield receipts. An upsell your users will actually want.

For Developers

Get integrated in minutes.

Get integrated in minutes.

Get integrated in minutes.

Follow the manual quickstart guide, or copy our full SDK docs as a prompt into your AI and let it write the integration for you.

Integration Options

Integration Options

One-click AI Integration
Copy to LLM

Copy the full Blend SDK docs from architecture, methods, etc. directly into ChatGPT, Claude, or Cursor. Your AI assistant writes the integration for you.

Include my credentials
--- MY BLEND INTEGRATION CONTEXT ---

I'm integrating the Blend SDK (@blend-money/sdk) for a neobank. My credentials:
- neobankId: YOUR_NEOBANK_ID
- accountTypeId: YOUR_ACCOUNT_TYPE_ID
- baseUrl: https://api.blend.money
- API key: use the key value from when I created it (not the key ID)
# Blend SDK — Complete Technical Guide

A technical deep-dive into how the Blend SDK works, its architecture, and usage.

---
Manual Integration
Step-by-step quickstart
1Install the SDK

Select your package manager and copy the install command.

npm install @blend-money/sdk
2Initialize the Client

Configure BlendClient with your neobank ID, account type ID, API key, and RPC transports.

import { BlendClient } from "@blend-money/sdk";
import { http } from "viem";

const client = new BlendClient({
  baseUrl: "https://api.blend.money",
  apiKey: "YOUR_API_KEY",
  neobankId: "YOUR_NEOBANK_ID",
  accountTypeId: "YOUR_ACCOUNT_TYPE_ID",
  transports: {
    8453: http("https://base-mainnet.g.alchemy.com/v2/YOUR_ALCHEMY_KEY"),
  },
  paymasterTransport: http(
    "https://api.pimlico.io/v2/8453/rpc?apikey=YOUR_PIMLICO_KEY"
  ),
});
3Make Your First Request

Get or create a Safe account for a user EOA and fetch their balance.

// Get or create Safe account for a user EOA
const account = await client.integration.safe.account(userEoa);

// Fetch aggregate balance per chain and total USD
const balance = await client.integration.balance.get(account.accountId);

console.log("Safe:", account.safeAddress);
console.log("Balance:", balance);
4Handle Responses and Errors

Use SdkError for structured error handling and retry logic.

import { SdkError } from "@blend-money/sdk";

try {
  const account = await client.integration.safe.account(userEoa);
  const balance = await client.integration.balance.get(account.accountId);
  console.log("Success:", balance);
} catch (error) {
  const sdkError = error instanceof SdkError
    ? error
    : SdkError.fromAxiosError(error);
  if (sdkError.isRetryable()) {
    console.error("Temporary failure, retry later:", sdkError.getUserMessage());
  } else {
    console.error("Error:", sdkError.getUserMessage());
  }
}
5First Deposit

Ensure Safe exists, fetch supported tokens and user balances, then get a cross-chain deposit quote.

// 1. Ensure Safe account exists for the user
const account = await client.integration.safe.account(userEoa);

// 2. Get tokens available for cross-chain deposit (Base)
const tokens = await client.integration.crosschain.getTokens(8453);

// 3. Check user's ERC-20 balances on source chain
const balances = await client.integration.crosschain.getBalances(userEoa, 8453);

// 4. Get quote for cross-chain deposit (1 USDC)
const quote = await client.integration.crosschain.getQuote({
  chainId: 8453,
  inputAssetAddress: usdcAddress,
  eoa: userEoa,
  amount: "1000000", // 1 USDC
});

// Use quote to construct your cross-chain deposit flow
console.log("Quote:", quote);

Frequently asked questions

Frequently asked questions

How is this different from other yield providers?
What if a protocol has issues?
Who controls strategy changes?
Do you support RWAs like tokenized treasuries?
What chains do you support?

The playbook for adding earn pages without vendor lock-in.

The playbook for adding earn pages without vendor lock-in.

The playbook for adding earn pages without vendor lock-in.

6 sections covering yield strategy, compliance architecture, and the evaluation framework CTOs are using to choose earn infrastructure. Read it before your next vendor call.

*Check your inbox. The playbook arrives in about a minute.

Earn infrastructure made for neo banks.

Earn infrastructure made for neo banks.