The Saddlebag Economy

How the bulls work onchain, layer by layer: an NFT that owns a wallet, the account that rides with it, the liquidity it can hold, and the agent that can tend it. Self-custodied, composable, and never a promise of return.

What a bull is

A bull is an NFT on Solana, minted as a Metaplex Core asset, and every bull owns a wallet. Hold the bull and you hold an onchain account that moves with it: the art is the surface, the account underneath is the system. The collection is 7,777 bulls, tied to $ANSEM.

That single primitive is the whole design. If a bull is a wallet, a bull can hold value, put that value to work, and one day be tended by an autonomous agent, all while you keep your keys. The rest of this document is the economy built on that primitive, in the order it grows: the bag, the anvil that wakes it, the trough it trades on, the well it digs, and the farmer it can hire.

You custody all of it. The bull sits in your wallet, the bag is driven by the NFT itself, and nothing sits between you and either one: no custodian, no deposit, no off-chain balance. Every layer that follows is optional and additive. Own a bull and do nothing, or activate it, trade on it, dig a well, hire a farmer. Nothing is forced and nothing is pooled.

The saddlebag

The saddlebag is the wallet your bull owns. A Metaplex Core asset can carry an asset-signer PDA: a program-derived account the asset itself controls, movable only through the asset’s own authority. That account is the saddlebag. It is not a separate key you manage; the bull is the key.

Three properties make it the foundation. It is non-custodial: the bag signs only through the bull’s owner, and the project holds no key to it and no admin path that can move it. It rides with the asset: sell the bull and the bag, with everything inside, transfers in the same transaction by the rules of the token standard, with nothing to migrate and no registry to trust. And it is legible: the PDA is derivable by anyone, so a bag’s contents are public to any indexer that looks.

The bag holds SPL tokens and open positions like any wallet. Because its owner is a PDA rather than an ordinary keypair, an action on the bag is an onchain instruction routed through the asset’s authority, not a signature from a key you carry. This is live today: holders deposit into bags, collect from them, and the Bull Gods reveal already mints assets into specific bags onchain.

Activation

A bull out of the box is inert: it holds art and identity, nothing more. To put it to work it is activated once. Activation is a single onchain payment that names the bull, after which an anvil is minted into its saddlebag. The anvil is the visible mark that the bull is awake; the payment, recorded immutably against the bull, is the proof.

Two things make activation more than a fee. It transfers with the asset: because the anvil lives in the bag, and the bag rides with the bull, an activated bull sells as an activated bull. Activation is a durable property of the asset, not a fee consumed against it. And it is one-time and stateless: pay once, forever, with nothing to renew and no subscription.

The gate binds onchain, not in a website. Because the bag’s instructions are public, a boundary enforced only in an app is no boundary at all. Activation is enforced by a lifecycle hook on the asset’s Execute event, so a program approves or rejects every bag action rather than only the ones a surface builds for you. (Roadmap: the anvil-in-bag rail reuses the proven Bull Gods mint.)

The trough

The trough is Bulltoshi's onchain swap venue: an AMM route for $ANSEM, $TBULL, and the coins the herd trades. Quotes come off the pool reserves rather than a third-party feed, so the amount you sign is the amount the chain will settle.

Each swap pays a small fee, the way any DEX does. The fee accrues to the treasury, which spends it at its own discretion: funding, liquidity, and community distributions it chooses to make. It is never a yield owed to holders.

Wells

A well is a liquidity position a bull digs inside its own saddlebag: a concentrated-liquidity position on Meteora DLMM, owned by the bag’s PDA. The mechanics are ordinary DeFi; the ownership is the point.

You fund the well from your own assets, you alone can withdraw it, and the trading fees it earns accrue to you, because the position is yours. The project’s economic touch is a small proportional load charged only when you act, never a standing drain on a dormant position. This is standard LP mechanics, not a payout from the project. The bag stops being a static container and becomes a position you hold and control.

A DLMM prices liquidity in discrete bins. Each bin is a fixed geometric step from its neighbour, and a position is a contiguous range of bins around the active one, which is the only bin that earns on the current trade:

# a DLMM prices liquidity in discrete bins
p_i   = (1 + s)^i        bin price;  s = binStep / 10_000
range = [i_L .. i_U]     a contiguous span of bins around active bin a
# only the active bin a earns fees on the current trade

The proportional load is a set of parameters applied only when you act on the position, never as a standing drain. In symbols:

fee_in  = λ_in  · amount_in                  on add / dig
fee_out = λ_out · amount_out                 on withdraw
perf    = φ · max(0, value_out - value_in)   on realized gain
# planned: λ_in = λ_out = 2%,  φ = 20%,  charged only when you act

A concentrated position drifts out of range as price moves. Following the water is an in-place rebalance: the well moves to meet the market without closing and re-opening, so there is no new position rent and no churn. Today that is a button you press; the next section is what can press it for you.

One caveat, stated plainly. A concentrated-liquidity position is a yield instrument for ranging markets, not a guaranteed win: in a strong trend it can underperform simply holding the two tokens. A well earns fees; it does not promise a return, and this document does not imply one.

The farmer

A well that has to be watched by hand is a well most holders will let drift. So a well can hire a farmer: an autonomous agent that watches the position and, when the water moves, follows it, rebalancing on your behalf on a schedule or a trigger. The well pays the farmer out of what the well earns.

The farmer is not an operator the project appoints and runs. It is a rule you attach to your own well, which anyone may then execute in exchange for a bounty. The caller does the work and takes the bounty; the project holds no signing key, runs no keeper on your behalf, and exercises no discretion over your position. You write the rule, and the rule is the authority.

You set the bounds at hire time: band width, trigger threshold, cooldown between rebalances, direction, a maximum slippage per move, and a price-sanity check against an independent reference. You can change or withdraw the rule at any moment. The caller is interchangeable; the rule is yours.

A rule is a set of guards. A crank may move a well only when every guard holds at once, so a compromised or greedy caller cannot rebalance at a bad price, too often, or too far:

# a crank may rebalance a well only when ALL guards hold
|a - c| > N                     active bin drifted past N bins from center c
now - t_last ≥ T_cool           cooldown since the last rebalance elapsed
|p_pool - p_ref| / p_ref ≤ ε    pool agrees with an independent reference
slippage(move) ≤ σ_max          per-move slippage cap
width ≥ w_min                   minimum band width

The whole loop is small. One crank call against one well, in pseudocode:

rule = (c, width, N, T_cool, σ_max, w_min, p_ref, ε, bounty)

crank(well, rule):
    require now - well.t_last ≥ rule.T_cool
    a = active_bin(well.pool)
    require |a - rule.c| > rule.N
    require |price(a) - rule.p_ref| / rule.p_ref ≤ rule.ε
    new_range = (a - rule.width, a + rule.width)
    rebalance_in_place(well, new_range, max_slippage = rule.σ_max)
    pay(caller, min(rule.bounty, κ · pot_value(well)))
    well.t_last = now

The bounty is bounded, and it replaces the performance fee rather than stacking on it. Because the crank is permissionless, it is paid to whoever calls it, not to the project:

0 < bounty ≤ κ · V_pot     κ small; replaces the 20% performance fee,
                           paid to the caller, never to the project

The “AI” in the agent is a spectrum, and the safe end ships first. A deterministic keeper (if the active range drifts by a set amount, rebalance to a range centered on the market, in your chosen direction) executes only your stated rule and decides nothing on its own. Adaptive strategy agents are a later, heavier step. Rules-based farmers first. (Roadmap.)

Companions

The saddlebag is composable: an account that can hold whatever Solana can represent. The following are further directions on the roadmap. Each is early, each is built onchain and in the open, and none is a promise.

A coin of its own

Any bull could mint its own token, an SPL coin launched from the bull's wallet through the venues the herd already uses. It is tied to the bull and launched by its holder, not handed down by the project.

The hide

Pixel art is made to be worn, and the first form the hide takes is real garments: made with a clothing partner and claimed against the bag, so the physical piece ties back onchain to the exact bull it came from. Provable in the wallet, unmistakable on the street.

But a garment is only the first surface. A bull with a face, a name, and a following is a brand in waiting, and the hide is the door it walks through into the physical world: a label its holder carries, its identity settled onchain and its edition finite. Where each hide goes is left to the bull and the hands that hold it. The herd has 7,777 faces. Some of them become names you know.

Real yield

Further out, a saddlebag could hold tokenized real-world assets such as treasuries or commodities, which move in dollars rather than in a memecoin’s fees. The design is hold, not trade: you acquire the asset yourself through the issuer’s own rails, it sits in your bag, and the project never pools funds or intermediates the trade. A horizon, drawn deliberately slow.

The invariants

A few properties hold across every layer above, whatever rail goes in next. They are not disclaimers bolted on at the end; they are the shape of the design.

Self-custody
Your keys hold your assets. The project has no admin path over a bag, a well, or a position. A farmer is a rule you set and anyone may execute, never a custodian and never an operator the project appoints.
Self-direction
You act, fund, dig, set the rule, and withdraw it. The project builds the tools; it does not make the decisions or exercise discretion over your position.
No pooling
No layer aggregates holder funds under the project’s control. Each bag is its own account. This is the line between a wallet with features and a fund.
No promises
Nothing here is a claim on a return. A bull is a bull. Anything the treasury distributes is a gift it chose to make, not a debt it owes.

Nobody asked permission to start a herd. That is what a network is. Check your bulls.