Hybrid retail + secondary, on one engine.
Mini-correspondents straddle the broker / correspondent line: retail-facing speed for the LO, secondary-market defensibility for the desk. RateStack runs both views off the same engine, same trace, same audit chain.
The mini-correspondent operating model is what most lenders end up at when they grow through the broker tier into balance-sheet exposure. The LO needs a workspace that feels like a broker tool. The secondary desk needs a sell-side ladder that ties to the locked retail price. Most platforms force you to pick one side; RateStack runs both because the rule engine and the lock subsystem are the same regardless of which channel ran the quote.
BEST_EX runs across your wholesale-style investor pack for retail; sell-side pricing runs against your buy-side pack for secondary. Both share the same ratesheet ingestion pipeline, the same audit chain, and the same correlationId thread.
When you want to flip a loan from retail comp to secondary execution mid-pipeline, the lock subsystem captures the pin and the audit chain captures the channel switch. Hedging consumes the events from there.
Before vs. after
The shape of a day.
The same operating model, rebuilt around explicit pricing and a single audit log.
Before
Two pricing engines (one retail-tier, one secondary) with reconciliation overhead.
After
One engine, two channel views, the same trace and same audit chain.
Before
Channel switches lose the LO's quote history.
After
correlationId persists across the channel switch; the lock subsystem captures the pin.
Before
Hedge-side analytics rebuild events from logs because pricing and lock systems don't share a vocabulary.
After
Single event stream — pricing.computed, locks.lifecycle — both carry the same correlationId for trivial joins.
Capabilities, framed for you
The platform pieces you'll touch first.
Retail and secondary on one engine
Same pricing-service runs both; channel is metadata, not a separate stack.
Sell-side pricing + Exception Inbox
Per-investor sell-side ladder with completion audit, plus AI-triaged lock exceptions.
Comp + margin layered by channel
Entity-level retail margin (BRANCH / REGION / TEAM) and channel-level secondary margin coexist on the same hierarchy.
Smart 1003 + property intelligence
Fields reflow per loan profile; ULDD property axes feed both retail and secondary eligibility.
Encompass-native import
Standardized Report (CCL) profile lands 400 fields on day one — single integration for both channels.
Webhooks for hedging
pricing.computed, locks.*, and exception.* events feed the hedge / bid-tape stack.
Onboarding
What week one looks like.
A pragmatic sequence — from sandbox to first signed quote.
- 1
Day 1: investor pack
Configure your retail and secondary investor packs in the admin UI.
- 2
Week 1: ingestion + LOS integration
Ratesheet ingestion live; MISMO import wired from your LOS.
- 3
Week 2: comp + margin
Layered margin rules per branch (retail) and per channel (secondary).
- 4
Week 3: lock policy
Configure desk policy with channel-aware extension fees.
- 5
Week 4: hedge integration
Subscribe events; route to the hedge stack.
Frequently asked
Specific to your operating model.
Can a loan switch channels mid-pipeline?
Yes. The channel switch writes an audit row; the lock pin survives, the price is reproducible.
Do you support different comp rates per channel?
Yes. The comp/margin hierarchy carries a channel attribute; rules apply by hierarchy level + channel match.
How do you separate retail and secondary investor packs?
Investor records carry a channel set. The pricing call's pricingMode + the borrower's loan record select the eligible pack.
Ready when you are
See mini-correspondents on RateStack.
Live demo with your real ratesheets, your real scenarios, and an honest read on whether the platform fits your team.