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.
Illustrative split. Real purchases are priced and quoted before you sign.
01Creators publish investable strategies
02Investors discover them and invest in one action
03Anyone can fork a strategy and build on it
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
Idea
Post
Screenshot
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
Defined allocation
Creator identity
Version
Invest
Fork
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
Strategy
Bag
Publish
Discover
Invest
Fork
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.
01
Create
Pick assets and weights, write the thesis, set a performance fee.
02
Publish
The strategy becomes a Bag: identifiable, versioned, tied to its creator.
03
Discover
Investors find the strategy — and who made it — in Explore.
04
Invest
One action instead of rebuilding the portfolio position by position.
05
Fork
Another creator adapts it and publishes a new Bag. The lineage stays.
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.
✓Fee only on realized profit — never on losses
✓Performance fee capped at 30%
✓Fee locked once outside capital arrives
✓Fork royalty comes out of the fork’s fee — investors pay nothing extra
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.
Open any Bag and you see what it holds, who built it, which version you are looking at and where it came from — then invest in it or fork it.
AI Infrastructure
by @creator_a
EXAMPLE
Compute, chips and the platforms that rent them out.
40%
NVDA
35%
MSFT
25%
AMD
chain
Robinhood Chain
version
v3
lineage
root · 2 forks
diversification
computed from composition
performance history
coming next
InvestFork
01Explore
02Open strategy
03Invest
04Fork
The creator is not a decoration on the page. The creator, version and parent are part of the Bag's identity, and travel with every fork.
Published Bags
Loading Bags…
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.
01
Choose
Pick a Bag.
02
Allocate
Enter an amount. It is split by the Bag’s published weights.
03
Route
Execution routes are found and quoted, with a guaranteed minimum output.
04
Execute
You sign in your own wallet. Trades execute on the Bag’s chain.
05
Reconcile
What actually arrived is verified on-chain before it counts.
You
amount
→
Strategy
the Bag
→
Allocation
per-asset amounts
→
Execution
BAG Router · LI.FI
→
Result
portfolio in your wallet
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.
Ethereum
chain id
1
assets
Crypto
execution
LI.FI
Arbitrum
chain id
42161
assets
Crypto
execution
LI.FI
Base
chain id
8453
assets
Crypto
execution
LI.FI
Robinhood Chain
chain id
4663
assets
Crypto + Stock Tokens
execution
BAG Router · LI.FI
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.
01
Strategy as an object
A Bag is structured and identifiable: allocation, creator, version and lineage in one place.
02
Forkable
Any published strategy can be adapted and republished, with a permanent link to its parent.
03
Creator economics
Root creators earn on forks; creators set a fee on realized profit. Enforced by the protocol.
04
One-action execution
An amount becomes a full portfolio without rebuilding each position by hand.
05
Portable format
Strategies are data in an open format, not screens locked inside one interface.
06
Multi-chain
One model across Ethereum, Arbitrum, Base and Robinhood Chain.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.