Blend is built for neobanks, wallets, and fintech products that want user-isolated Safe accounts with DeFi yield. You create the product and user experience. Blend handles account resolution, Safe infrastructure, quote generation, withdrawal orchestration, and settlement validation.Documentation Index
Fetch the complete documentation index at: https://docs.blend.money/llms.txt
Use this file to discover all available pages before exploring further.
Integration shape
The current SDK flow is:publishableKey. The user connects a wallet and signs in with SIWE. After that, the SDK calls the Blend /sdk backend with the publishable key plus the user’s bearer session.
Your own backend may still exist for product logic, user records, analytics, support tooling, compliance workflows, or reconciliation. It is not required as a proxy for every Blend SDK request.
Your setup workflow
Submit assets
Add the DeFi positions you want in your strategy. Each asset goes through Blend’s review pipeline. See Assets.
Create a Basket
Build a strategy template from your approved assets. Set target allocation percentages. See Baskets.
Create an Account Type
Create a product offering such as “Savings” or “Growth” and link it to your Basket. Blend issues a publishable key for the account type. See Account Types.
Embed the SDK
Initialize
BlendSdk in your frontend with the account type’s publishableKey, then sign the user in with SIWE.Quote and execute intents
Use
quoteDeposit(), quoteWithdraw(), and execute() for the common flow, or sdk.sessions.* when your app needs custom transaction orchestration.Manage flow plans
When positions drift from target allocations, approve or cancel flow plans to rebalance. See Flow Plans.
You can also use a Basket from an external Risk Architect instead of building your own.
Operating model
| Entity | What it represents | Managed by |
|---|---|---|
Asset | A DeFi position such as a Morpho vault, Euler market, or Pendle PT | You submit, Blend reviews |
Basket | Strategy template with target allocations | You or a Risk Architect |
Account Type | Product configuration for end users, including the SDK publishable key | You |
Account | One end-user account under one Account Type | Created during SIWE sign-in |
Safe | Deterministic Gnosis Safe tied to that account | Blend plus on-chain deployment |
Transaction Intent | Deposit or withdrawal session with quote, lock, submission, and settlement state | Created by the SDK and Blend backend |
No omnibus structures
This section is for informational purposes only and does not constitute legal or financial advice. Consult qualified legal counsel for guidance on regulatory compliance.
What your application owns
Your application is responsible for:- creating and managing the user experience
- connecting the user’s wallet and providing
signMessage - initializing the SDK with the account type
publishableKey - handling SIWE session lifecycle in the browser
- executing returned action plans through the user’s wallet path
- persisting any product-specific mappings between your internal user IDs and Blend
accountIds - reconciling deposits and withdrawals against your own product records
- tenant resolution from
X-Publishable-Key - SIWE challenge, verification, session issuance, and session revocation
- account creation and account-scoped API reads
- deterministic Safe addressing and deployment requests
- deposit and withdrawal quote generation
- withdrawal source-chain selection and Safe action-plan generation
- transaction hash verification and settlement tracking
- flow plan generation when positions drift
Recommended request flow
Session and execution split
The SDK and backend divide responsibilities this way:| Layer | Responsibility |
|---|---|
| Frontend app | Wallet connection, SIWE signature prompt, confirmation UI, transaction submission, status UX. |
| Blend SDK | Headers, session state, quote methods, action-plan conversion, high-level execution helpers. |
Blend /sdk backend | Publishable-key tenant lookup, SIWE verification, quote orchestration, withdrawal payload generation, receipt verification, settlement state. |
| Your backend | Optional product records, analytics, compliance checks, webhooks, reconciliation, internal support tooling. |
Integration risks to design around
publishableKeyis public; SIWE bearer sessions are not.- Clear the SDK session when the wallet disconnects or changes address.
- Use
forceReset: truewhen starting a new deposit while another active session is not reusable for that flow. - Withdrawals may involve multiple source-chain action plans; use
sdk.sessions.execute()when you need explicit chain switching. - A
409withFLOWPLAN_CONFLICTmeans a rebalance is in progress. Surface it as a user-facing transient state rather than silently retrying. - Persist
externalRefvalues in your own backend when you need deterministic reconciliation.
Next steps
Blend SDK
Learn the current SDK surface.
Deposit & Withdraw
See the end-to-end user flow.
Cross-chain Integration
Implement multi-chain discovery and execution.
API Reference
Review the
/sdk HTTP surface.