Skip to main content
An Account Type is a product offering that you create for your users. Each Account Type is linked to one Basket, which defines the strategy that accounts under this type will use.

Key Concepts

  • One Basket per Account Type: Each product maps to exactly one Risk Architect’s strategy
  • Multiple Account Types per neobank: You can offer several products (e.g., “Savings”, “Growth”, “BTC Yield”)
  • Same user, multiple accounts: A single user can have accounts across different Account Types, each with its own isolated Safe

Creating an Account Type

1

Choose a name and slug

Define a human-readable name and a URL-safe slug for the Account Type.
Name: "Savings Account"
Slug: "savings"
Description: "Conservative yield on USDC with diversified money market exposure."
2

Select a Basket

Link your Account Type to one of your Baskets. Each Basket defines the strategy that accounts under this type will follow.
Basket ExampleStrategyTypical APY
USDC ConservativeDiversified money markets + short PTs8-12%
USDC AggressiveDelta-neutral + leveraged basis trades15-25%
BTC YieldBitcoin staking + basis trades5-10%
You can also use a Basket from an external Risk Architect if you prefer not to build your own strategy.
3

Configure and publish

Review the Account Type configuration and publish it. Once active, you can begin deploying user accounts under this type.
Your Account Type is now live. Users who sign up for this product will get Safes that execute the linked Basket’s strategy.

How Account Types Connect

Your Neobank
├── Account Type: "Savings" → Basket: "USDC Conservative" (conservative strategy)
│   ├── User Alice → Safe 0x111... → managed by USDC Conservative strategy
│   └── User Bob   → Safe 0x222... → managed by USDC Conservative strategy

└── Account Type: "Growth" → Basket: "USDC Aggressive" (growth strategy)
    ├── User Alice → Safe 0x333... → managed by USDC Aggressive strategy
    └── User Carol → Safe 0x444... → managed by USDC Aggressive strategy
Notice that Alice has two Safes, one for each Account Type. Each Safe is completely isolated with its own strategy execution.

Managing Account Types

Switching Baskets

You can switch which Basket an Account Type uses. When you do:
  1. All user accounts under this Account Type are rebalanced back to the base holding vault
  2. The new Basket is linked
  3. Funds are rebalanced into the new strategy’s allocations
Basket switching triggers flow plans for all accounts under the Account Type. Review market conditions before switching.

Deactivating an Account Type

You can deactivate an Account Type to prevent new accounts from being created under it. Existing accounts continue to operate normally.
Account Types with existing accounts cannot be deleted, only deactivated.

Subscription Levels

Each Account Type has a subscription level that controls what data you receive from the linked Basket.
LevelWhat you get
NONEBasic account access only. You can create accounts and manage deposits/withdrawals.
ALLOCATION_ONLYSee target allocations for the linked Basket. Know where funds are going without full position details.
FULLFull position data, returns, and yield breakdown. Complete visibility into strategy performance.
Choose FULL if you want to show detailed yield breakdowns in your app. Choose ALLOCATION_ONLY if you just need to display the strategy overview.

Halting an Account Type

You can halt an Account Type to block new deposits while keeping existing positions active. When an Account Type is halted:
  • Deposit quote requests return HTTP 423
  • Existing positions continue to earn yield
  • Withdrawals still work
  • Flow plans still execute for existing accounts
Halting is different from deactivation. Deactivation prevents new accounts. Halting prevents new deposits into existing accounts.
Use halting for emergency pauses during market volatility or protocol incidents. It gives you a quick way to stop inflows without disrupting existing users.

Next Steps

User Accounts

Deploy isolated Safes for your users.

Deposit & Withdraw

Implement funding flows with the SDK.
Last modified on March 20, 2026