Programmable portfolios for onchain assets

One strategy.
A complete portfolio.

Choose a strategy, enter an amount, and Bag turns it into a complete portfolio — allocated, routed and executed from your own wallet.

Every strategy is a Bag: published by a creator, invested in with one action, forked with its lineage intact, and paying royalties to the creator who started it.

Ethereum · Arbitrum · Base · Robinhood Chain
  1. Strategy
  2. Amount
  3. Allocation
  4. Route
  5. Portfolio
AI GrowthEXAMPLE
by @example
NVDA$40040%
MSFT$30030%
TSLA$30030%
routeBAG Router · LI.FI→ your wallet
Buy this Bag

Illustrative split. Real purchases are priced and quoted before you sign.

  1. 01Creators publish investable strategies
  2. 02Investors discover them and invest in one action
  3. 03Anyone can fork a strategy and build on it
  4. 04Root creators earn from the network their strategy starts
Why Bag exists

Investment ideas aren't enough. Strategies should be investable.

Strategies travel today as posts and screenshots. Everyone who acts on one rebuilds it by hand, the link to its author disappears, and the author has no native way to participate in what they started.

Today — an idea

  1. Idea
  2. Post
  3. Screenshot
  4. Manual copying
  • No defined allocation
  • Attribution lost on copy
  • Portfolio rebuilt by hand, asset by asset
  • No native way for the author to earn

With Bag — a strategy object

  1. Defined allocation
  2. Creator identity
  3. Version
  4. Invest
  5. Fork
  6. Royalties

The strategy itself becomes the thing people invest in, fork and credit — not a description of it.

The new primitive

Strategy becomes an object.

A token is one asset. A Bag is the recipe for holding many — with its author, version and history attached. That is what separates it from a portfolio dashboard: the strategy exists independently of any screen that shows it.

bag · ai-infrastructureEXAMPLE
strategy
name, thesis, rules
allocation
assets + weights (basis points)
creator
the wallet that published it
identity
Bag id + composition hash
version
every edit is a new numbered version
lineage
parent Bag · root Bag
economics
performance fee · fork royalty
execution
chain + routes (BAG Router / LI.FI)

How a strategy propagates

  1. Strategy
  2. Bag
  3. Publish
  4. Discover
  5. Invest
  6. Fork
  7. New Bag

A fork is a new Bag with its own creator and version — and a permanent pointer to the Bag it came from. Every new Bag can be forked again.

CreatorFi

From publishing ideas to building investable strategies.

On Bag, a creator's work is not a post that gets copied. It is a product that people invest in, that others build on, and that pays its author as it spreads.

  1. 01

    Create

    Pick assets and weights, write the thesis, set a performance fee.

  2. 02

    Publish

    The strategy becomes a Bag: identifiable, versioned, tied to its creator.

  3. 03

    Discover

    Investors find the strategy — and who made it — in Explore.

  4. 04

    Invest

    One action instead of rebuilding the portfolio position by position.

  5. 05

    Fork

    Another creator adapts it and publishes a new Bag. The lineage stays.

  6. 06

    Earn

    A fee on investors’ realized profit, and a share of what every fork of your Bag earns.

Fork royalty
20%

of the performance fee every fork of your Bag earns

Paid to the root creator by the settlement contract, in the same transaction as the sale — forks of forks still point back to the original. It comes out of the fork creator's fee, so a fork with no fee pays no royalty.

Performance fee
0–30%

of an investor's realized profit, set by you

Charged only when an investor redeems with a gain, on that gain. Your incentive is the same as theirs.

Forkable finance

Strategies fork like open source.

Anyone can take a published Bag, change it, and publish their own. The original is untouched, and the new Bag keeps a visible link to where it came from.

  1. Creator AAI InfrastructureNVDA · MSFT · AMDroot · v3
  2. Creator BAI + SemiconductorsNVDA · AMD · TSM · ASMLforked from A · v1
  3. Creator CAI + Semis + CryptoNVDA · TSM · ETH · BTCforked from B · v2
20% of the performance fee Creator B or Creator C earns on a sale is paid to Creator A, the root, in the same transaction. Illustrative example.
Built for both sides

Two ways in. One strategy layer.

For investors

Buy the strategy, not the pieces.

  • Choose a strategy — and see who made it
  • Enter one amount
  • Allocation computed from the published weights
  • Execution routes quoted before you sign
  • Executed from your own wallet
  • The portfolio lands in your wallet, not a pooled vault
Explore Bags
For creators

Turn your strategy into a digital financial product.

  • Create a strategy in minutes
  • Publish it as a versioned Bag
  • Build an audience around your work
  • Attract capital without custody of anyone’s funds
  • Get forked — and keep the lineage
  • Earn fork royalties and a performance fee
Create a Bag
How Bag works

Strategy in. Portfolio out.

The only decisions are which Bag and how much. Everything between is handled — and checked against the chain, not just estimated.

  1. 01

    Choose

    Pick a Bag.

  2. 02

    Allocate

    Enter an amount. It is split by the Bag’s published weights.

  3. 03

    Route

    Execution routes are found and quoted, with a guaranteed minimum output.

  4. 04

    Execute

    You sign in your own wallet. Trades execute on the Bag’s chain.

  5. 05

    Reconcile

    What actually arrived is verified on-chain before it counts.

Non-custodial: Bag never pools deposits and never signs for you. A quote is not an execution — accounting follows confirmed receipts only.

Multi-chain

One strategy layer. Four chains.

The same strategy model runs on every supported chain. Each Bag is deployed on the chain its creator chooses; Robinhood Chain adds tokenized stocks alongside crypto.

Why Bag is different

Not a portfolio app. A strategy layer.

A portfolio app shows you what you hold. Bag defines strategies other people can hold, change and build on.

Open format · bag.json

The strategy itself has a format.

To be shared, versioned and forked, a strategy needs a portable representation — not a screenshot. Every Bag is a small recipe; deployed Bags anchor its hash on-chain.

  • Readable

    Plain JSON: assets, weights, rules, fee.

  • Versionable

    Every edit is a new numbered version with its own hash.

  • Shareable

    The strategy is data — any client can render it.

  • Composable

    Other apps and agents can read and build on it.

  • Forkable

    A fork starts from the same recipe and is linked to its parent Bag.

{
  "name": "AI Infrastructure",
  "chain": "robinhood",
  "version": 3,
  "assets": [
    { "symbol": "NVDA", "weightBps": 4000 },
    { "symbol": "MSFT", "weightBps": 3500 },
    { "symbol": "AMD",  "weightBps": 2500 }
  ],
  "performanceFeeBps": 1000
}
Example recipe (abridged). Weights are basis points.
Architecture

Each provider does one job.

Crypto data and routing, Stock Token data, and chain access each come from the source that is authoritative for it. A ticker never identifies an asset — the contract does.

  • Routing & crypto data

    LI.FI

    • Crypto token data and indicative prices
    • Route and execution quotes
    • Swaps and cross-chain execution
  • Stock Token data

    Robinhood Stock Token API

    • Canonical Stock Token contracts
    • Bid / ask pricing, per-token multiplier
    • Corporate actions, trading status
  • Blockchain infrastructure

    Alchemy

    • RPC, balances, contract reads
    • Transaction state and receipts
    • On-chain verification, with fallback RPCs

Your wallet signs every purchase — the server never signs for you or holds your funds. Prices shown are indicative; purchases use execution quotes.

Status

Shipped, day by day. What comes next.

Every update links to a merged pull request or a commit on main, dated in UTC. Published SDK releases and live-chain checks are identified separately. BagFactory, StrategyRegistry and RedeemSettlement are live on Robinhood Chain; no Bag Protocol contract is deployed on Ethereum, Base or Arbitrum yet.

Shipped

  1. AVAILABLE NOWStronger SDK execution checks and developer integrationPurchase bounds, registry verification and transport safety are enforced before an unsigned transaction reaches a consumer.
    • Every swap leg must have an execution boundThe SDK rejects provider legs with a missing or different output token, a missing or non-positive minimum output, or missing or malformed price impact.#108#109
    • Minimum investment enforcedPurchase planning checks the strategy minimum in exact payment-token units before requesting a quote. Positive ERC-20 minimums require token decimals; native ETH uses 18.#111
    • Registry verification checks its chain and deploymentThe SDK rejects a wrong RPC chain, an address that differs from a known registry deployment, or an address without contract code before reading the commitment.#112
    • Safer document fetching and Composer endpointsStreamed bag.json downloads are bounded by actual UTF-8 bytes, signed URLs are kept out of fetch errors, and Composer endpoints must use HTTPS without embedded credentials or URL parameters. Unsupported native-coin basket outputs are rejected.#109
    • SDK JSON Schema and downstream package checksThe SDK package exports its EVM-aligned bag.json schema for editor and tooling checks. CI also builds and installs the packed SDK in a clean consumer project; these main-branch changes do not announce a new npm release.#109#113
  2. AVAILABLE NOWPublic SDK package and clearer onboardingSDK 0.2.0 is recorded as published on npm under the MIT license; main prepares the next version.
    • SDK 0.2.0 publishedThe standalone @bagprotocol/sdk package is documented as published on npm. Its distribution includes an MIT license.592891c0a139b2
    • Copy-paste Quick Start and explicit release statusInstallation and local bag.json examples help developers start outside the BAG app. The repository distinguishes published 0.2.0 from prepared, unpublished 0.2.1.c8456ba9e4924c545dd77
  3. AVAILABLE NOWNew app interface and shared Composer allocationCreate, edit and trade flows are easier to follow, while BAG and its SDK now use the same basket-splitting planner.
    • Top navigation, search and screen densityApp navigation moves into the top bar, with search across strategies, creators and assets. Mobile keeps a menu, and desktop density can be adjusted and remembered.#101
    • Create, edit, publish and rebalance in a guided flowCreate uses an assets, allocation and review layout. Weight sliders keep the total at 100%. Deployment and saved versions prompt registry publication, then a launch buy or the creator’s rebalance; each transaction still needs wallet confirmation.#101
    • Clearer Bag pages and current value heldBag cards, detail pages and Swap were refreshed; zero holdings are hidden. Wallet checks after an app swap or sweep refresh affected Bags’ value after an outflow is confirmed.#101
    • Composer 0.11.3 and one partition plannerPurchase and rebalance allocation use core.partition instead of chained splits, with two levels for larger baskets. BAG and the SDK share deterministic bigint allocation and canonical leg ordering, including amounts kept in the input token. Covered by parity tests; not re-verified against the live Composer API.#104#106
    • Balances and launch paymentsFork launch buys can use USDG or ETH with the wallet balance shown. Swap adds the stablecoin balance and MAX; tiny balances are labelled instead of looking empty. Rebalances moving less than $1 explain why they cannot proceed.#101#103#105
    • Production builds and complete test discovery in CICI now runs the Next.js production build and detects unit tests outside the configured folders or file patterns, so route and build failures are caught before release.#102
  4. AVAILABLE NOWEditable strategy versions and flexible paymentsCreators can update compositions, investors can choose verified payment tokens, and rebalances can route through USDG.
    • Edit assets and weights, recover a saved versionCreators of mutable deployed Bags can record a new composition version from their wallet. Pending proposals allow an on-chain update to be recovered after a lost browser state or failed database write. Names are unique; version updates keep the existing rules and performance fee.#99
    • Customize a fork before creating itThe fork editor lets a creator choose the new name, assets and weights before the draft exists, using the same composition editor as strategy updates.#99
    • Pay or receive in verified tokensBag purchases can use other registry-verified tokens with a valid USD price. Sales without a performance fee can receive a verified token or supported native ETH; fee-paying sales still settle in the settlement stablecoin.#98
    • USDG hub routes and explicit price-impact consentMulti-leg rebalances sell through USDG before buying the targets. The default impact ceiling stays at 5%; an investor can explicitly accept up to 10%, while higher impact is refused. The new route and consent retry have not been verified live.#100
  5. AVAILABLE NOWSmart-account recovery, safer sales and clearer trade feedbackDeployment recovery, sale reconciliation and trade errors are improved, alongside launch balances and asset-import tooling.
    • Smart-account deployment and registry supportMetaMask smart-account transactions can be verified using the target’s events and wallet identity. A deployment that succeeded without app confirmation can be found and recovered without another deployment fee; rejected attempts can be retried.#92
    • Composer integration and actionable trade errorsThe integration follows Composer’s output and error responses, aborts requests after 15 seconds, and identifies failing token legs. Purchase review names every asset, and version mismatches produce a clear message. Composer was subsequently upgraded again on 19 October.#92#93
    • Swap leaves unroutable tokens in the walletMulti-sell can omit inputs with no route and clearly lists what was not sold. The buy picker excludes assets already marked as having no route.#92
    • One-transaction free sales and on-chain recoverySales without a fee try one Composer transaction first. Missing per-asset submission reports are searched on-chain before closing a sale; abandoned or declined attempts are closed cleanly. Recovery is implemented but not verified live.#94
    • Recovered sales are counted onceA verified recovered sale can explain an earlier wallet outflow, restore the matching accounting entries and book the sale without subtracting the same tokens twice.#97
    • Launch-buy balances and MAXCreate shows the connected wallet’s USDG or ETH balance. MAX keeps an ETH gas reserve, and failed balance reads show a retry instead of a fabricated zero.#96
    • Reviewed stock imports and supported fee chainsImport tooling recognizes verified tokenized stocks from known issuers, supports search and owner-selected imports, and excludes leveraged or inverse products. Performance fees are restricted to Robinhood Chain until settlement works elsewhere.#92
    • Current documentation and live-check evidenceThe README was rewritten around the current app, historical reports were archived, and status documentation records which smart-account flows were observed live and which checks remain open.#95
  6. AVAILABLE NOWMIT license addedThe repository now states its open-source license.
    • Repository licenseAn MIT license was added to the repository; the SDK package later included its own license file for distribution.734afc7
  7. AVAILABLE NOWMulti-buy, multi-sell and on-chain fork royaltiesBuy or sell many tokens in one transaction on four networks; forks pay their original creator on-chain.
    • Swap: multi-buy and multi-sellOne payment buys several tokens, or several wallet tokens sell for one, in a single transaction. Paying with ETH needs no approval: one signature. Works best with MetaMask.#75#77#78
    • Four networksSwap reads your wallet on Robinhood Chain, Ethereum, Arbitrum and Base, and sells into USDG, USDC or ETH. ETH payments are accepted on all four.#76#77
    • Fork royalty paid on-chainA fork pays its root creator 20% of its performance fee in the same sale transaction, through the new RedeemSettlement on Robinhood Chain. The investor pays nothing extra. Not yet proven with a live fork sale.#73
  8. AVAILABLE NOWOne-click rebalance and accounting you can trustPositions can be brought back to their strategy in one signature; returns now follow prices only.
    • One-click rebalanceA position that drifted from its strategy is rebalanced with one wallet-signed LI.FI Composer transaction. No creator fee; BAG books exactly what the on-chain receipt shows.#71
    • Returns from a price index7D, 30D and YTD returns follow only the prices of what a Bag holds. Purchases, sales and tokens leaving a wallet no longer read as gains or losses.#70
    • Purchases and fee-paying sales unblockedA Bag whose holders all exited, or whose tokens left the wallets, can be bought again; fee-paying sales no longer need every holding priced.#69#70
    • Wallet menuFull address, Switch account and a Disconnect that really disconnects, so the wallet asks which account to use.#66#68#69
    • Lighter background workWallet checks, pending settlements and NAV snapshots run hourly, and a wallet is checked when it connects.#69
    • Explore and wallet fixesCategories, risk level, watchlist and sorting on Explore; Rabby network setup and approval progress; positions refresh right after a sale.#64#65
  9. AVAILABLE NOWPublic proof and real numbersEvery figure is checked on-chain and linked to its transaction.
    • Proof pageValue held checked against every holder’s wallet, execution success rate and creator payouts, each linked to its on-chain transaction.#61#62#63
    • Rebalance preview and live quoteEach investor sees their drift against the current strategy version and a live Composer quote for fixing it.#54#55
    • Registry checked in the browserEvery registered strategy version is re-verified in the viewer’s browser with the open SDK.#53
    • Real leaderboardBags ranked by verified value held, returns, holders and forks; demo stats and unused features removed.#57#59
  10. AVAILABLE NOWPay with ETH, developer SDKBuy a whole Bag with native ETH in one transaction; build on bag.json with the SDK.
    • Native ETH paymentsPay for a Bag with ETH on Robinhood Chain in one Composer transaction, with balance, MAX and insufficient-balance checks.#42#45#46
    • StrategyRegistry liveStrategyRegistry is deployed on Robinhood Chain and its first live commitment is recorded.#49#50
    • SDKQuote, simulate and compile unsigned basket purchases (incl. native ETH) from a bag.json, as a distributable build.#35#51
  11. AVAILABLE NOWFirst live settled saleA real sale settled through RedeemSettlement and reconciled from chain event to ledger.
    • Settled sale, reconciledThe first live sale through RedeemSettlement, with its on-chain result shown: gross, fee, net and realized P&L.#31#32
    • bag.json artifact layerStandalone parse, validate, normalize and hash of bag.json v1, with registry verification.#33#34
  12. AVAILABLE NOWOn-chain settlementCreator fees computed by a contract from what a sale actually returns.
    • RedeemSettlementThe creator’s performance fee is computed in the contract from the actual proceeds and paid in the same transaction. Deployed on Robinhood Chain.#22#23#24#25#26#28#29
    • Composer to BAG contract, proven liveA LI.FI Composer flow calling a BAG contract was run live on Robinhood Chain before settlement was built on it.#18#21
    • Fee economicsPerformance fee defined on actual proceeds above cost, with a high-water mark.#13#14
  13. AVAILABLE NOWLedger accounting and on-chain registryPositions valued from what wallets really hold; strategies committed on-chain.
    • Accounting V2Average cost and realized P&L from verified proceeds; position value from actual holdings; sell by fraction with a pre-sign check.#7#8#9
    • StrategyRegistryCreators commit each strategy version from their own wallet; forks keep their provenance.#10#11
    • MCP serverA read-only BAG MCP server, with a lineage security fix.#6
  14. AVAILABLE NOWBAG Protocol V2V2 starts from live Bag creation on Robinhood Chain and adds the strategy standard.
    • Strategy standardbag.json v1 and a unified Strategy API; version timeline, diffs, Passport, Policy and validate_bag.#1#2#5
    • Execution receiptsEvery execution gets a receipt and a history, verified against the chain.#3#4

Coming next

  • COMING NEXTSDK receipt and delivered-output verificationAdd a read-only SDK helper to check a submitted purchase’s receipt and observed token delivery, with explicit incomplete-evidence results. The BAG app already verifies receipts; this is the standalone SDK layer.
  • IN PROGRESSStrategy weights on-chainEach registered version can publish its assets and weights on-chain, readable by any app or contract. Built and tested; not deployed yet.
  • IN PROGRESSBags on Ethereum, Arbitrum and BaseBagFactory is being deployed on the three networks so strategies can be created there too; performance fees stay on Robinhood Chain until settlement works elsewhere.
  • COMING NEXTFork royalty, proven liveRun a gain-bearing sale of a fork with a fee and verify that 20% reaches the root creator and the rest the fork creator, in one transaction.
  • IN PROGRESSBAG Router production enablementResolve the plan-signer trust boundary, deploy the router, configure allowlists and enable the native execution path.
  • COMING NEXTFee-paying sale validationRun a live gain-bearing sale and verify that the non-zero performance fee reaches the creator exactly once.
  • COMING NEXTLive compiler and best executionEnable parallel provider candidates, add independent providers, normalize gas and fee data, and optimize the basket as a whole.
  • COMING NEXTExecution intelligenceMeasure quote vs. actual output, price impact, latency, failures and provider reliability to improve future routing.
  • COMING NEXTStrategy intelligenceLiquidity and route analysis, concentration and risk checks, execution-cost warnings and Strategy Doctor recommendations.
  • COMING NEXTAutomation and recurring strategiesScheduled purchases, drift-aware DCA, threshold rebalances and conditional execution when required routes become available.
  • COMING NEXTOpen strategy network, AI and agentsBroader strategy discovery, a strategy marketplace, AI-to-bag.json workflows and authenticated agents.

Invest in a strategy. Or publish one.

Explore what creators have published, or turn your own strategy into a Bag others can invest in and build on.