Same transaction. Same market price.Two very different tax outcomes.

NODE40 Bedrock makes digital asset lot selection a governed policy, not a hidden default. Your rules decide which lots satisfy a disposal, and the record preserves why.

Bedrock SpecID preview showing the same disposal flipping from a gain to a loss when a different tax lot is assigned.

The default nobody questions

The default nobody questions

Most platforms quietly apply FIFO (or a similar default) to every disposal, and treasury teams never see the alternative outcome sitting right next to it. That default is itself a strategic choice. It's just usually made by the software vendor, not by you.

Bedrock starts from a different premise: everything is specific identification. FIFO is simply the fallback policy when no rule of yours says otherwise. The moment your team has a view on which lots should satisfy a disposal, that view becomes the governing policy, scoped, prioritized, dated, and documented.

Rule-based selection, scoped to your ledgers

Rule-based selection, scoped to your ledgers

Lot selection rules are standing orders. Each rule has a trigger (a sale, a send, a transfer between tagged ledgers), a strategy (long-term first, highest-in-first-out, harvest losses), a priority for resolving conflicts, and an effective date range, so a policy change on January 1 is represented as exactly that.

Rules are scoped by tags, not by hand-picking wallets. Tag two ledgers "treasury" and the rule follows them; bring a new ledger into the policy by adding the tag. In one real case, applying a scoped rule re-sliced a transfer into 0.75 BTC from one lot and 0.25 BTC from another, confirmed as a deliberate, non-FIFO pick in the SpecID audit view.

Loss harvesting as policy

Loss harvesting as policy

A dedicated rule, "harvest losses, then minimize gains," flipped an ETH sale from a $3,550 gain to a $1,400 loss. Same transaction, same date, same market price, different governed outcome.

The strategy prioritizes long-term losses, then short-term losses, then long-term gains, then short-term gains, and it only applies where you scope it. Lot selection stops being whatever the software defaults to and becomes a deliberate, documented position your team chose.

Manual precision when you need it

Manual precision when you need it

Sometimes the right answer is not a standing rule. It is a specific lot for a specific disposal. Bedrock's SpecID picker shows every lot that was open at the time of the transaction and previews the outcome live before you commit.

One real reassignment flipped a $59,625 gain into a $4,500 loss, saved with a recorded reason on the allocation. The before-and-after is visible at the moment of decision, not reconstructed later.

Protection where it matters

Protection where it matters

Some lots should never be touched: a founding 2011 acquisition, a position earmarked for a strategy, inventory under an internal restriction. Bedrock lets you lock a lot from origin or from any effective date, and every standing rule and fallback skips it.

When a locked lot is excluded, disposals re-route to the next eligible lot and the allocation view shows exactly what happened. Locking is not a note in a spreadsheet. It is an enforced constraint on the selection engine.

Nothing disappears; it's all attributed

Nothing disappears; it's all attributed

Every override, rule application, and manual pin is logged with a reason and stays visible in the audit trail. Lot selection is a strategy you can show your auditor, not a black box you hope holds up.

Explore Audit & Governance