Prop Firm Software Subscription and License Management Guide
Learn how subscription status, checkout metadata, Stripe webhooks, and Firebase can keep prop firm trading software access reliable after purchase.
Connect multiple Rithmic accounts in NinjaTrader →Supported prop firm accounts become visible in NinjaTrader.
NinjaTrader stays the main workspace for account selection.
Your NinjaTrader copier manages trades after accounts are connected.
Built for local copy trading setups using the NinjaTrader copier you already trust.
Get instant accessProp firm trading tools often start with one trader, one subscription, and one main trading machine. Support problems usually appear when billing status, software access, device activation, and account troubleshooting are handled manually.
A good license management process keeps subscription status and product access aligned without making the buying process feel complicated.
The Subscription-First Model#
For most traders, the correct purchase path is simple: buy one subscription, activate the product, and use it for the main NinjaTrader setup.
Additional subscriptions only matter when a customer needs separate devices, separate installations, or separate operating environments. That should be an advanced option, not the main marketing message.
What the Customer Should See#
The public account experience should be simple.
After checkout, the customer should be able to sign in with the checkout email, see download instructions, manage the license, reset the activation when allowed, and open the Stripe billing portal.
That account page should not feel like a developer dashboard. The customer cares about:
- Can I download the product?
- Is my subscription active?
- Where is my license?
- Can I reset the activation?
- How do I manage billing?
Those are the support questions license management should answer.
Stripe as the Billing Source#
Stripe Billing should be the source of truth for:
- Customer ID
- Subscription ID
- Price ID
- Subscription status
- Payment status
- Checkout metadata
Checkout creates the subscription. Stripe webhooks keep the license backend updated.
Why Duplicate Checkout Emails Matter#
Some customers may use the same email more than once. Others may type an email incorrectly. The system should avoid adding friction on the pricing page, but the backend still needs a practical way to map subscriptions to account access.
The best customer flow is:
- Let the customer check out quickly.
- Use the checkout email as the account identity.
- Create or update the customer account after Stripe confirms payment.
- Let the user sign in with Google or email link.
- Show entitlement status on the account page.
This keeps checkout easy while still giving customers a place to manage access later.
The Provisioning Layer#
The Stripe webhook receives Stripe events and calls the licensing backend with the fields the product expects:
- stripePriceId
- stripeQuantity
- stripeCustomerId
- stripeSubscriptionId
- stripeSubscriptionStatus
For PropFirmConnector, that means calling the Firebase licensing provisioning endpoint after Stripe confirms or updates a subscription.
Firebase as the License Backend#
Firebase can hold license records, subscription mapping, activation state, and entitlement status. When Stripe status changes, Firebase should reflect whether access is active, restricted, canceled, or unpaid.
Common status actions:
- active: provision or maintain access
- trialing: provision according to trial rules
- past_due: warn or restrict according to policy
- canceled: revoke or schedule revocation
- unpaid: suspend access
Affiliate Attribution#
Affiliate codes should be attached before Checkout and passed into Stripe metadata. That makes attribution available later without adding friction to the checkout path.
The launch model for PropFirmConnector supports URLs like:
https://propfirmconnector.com/?ref=partnercode
The website stores that code and passes it to Stripe during checkout.
For affiliate-heavy trading products, this matters because many referrals happen in Discord groups, trading rooms, YouTube descriptions, and one-to-one trader recommendations. The click should be captured before checkout and carried through the Stripe session.
Recommended Companion: NinjaMobileTrader#
For customers buying PropFirmConnector to copy trade multiple prop firm accounts, NinjaMobileTrader is the recommended companion environment. PropFirmConnector handles multiple Rithmic and supported account connections inside one NinjaTrader instance; NinjaMobileTrader is optimized for running NinjaTrader and local trade copiers with lower lag.
Together, they create a cleaner stack for fast local copy trading than routing every account through a slower cloud-sync copier.
License Reset Workflow#
License reset controls should be easy to find but not careless.
Customers need resets when they move computers, reinstall, change a trading environment, or move to a server. The account page should make the reset path clear without requiring a support ticket for every normal move.
The best workflow is:
- Customer signs in.
- Account page confirms active subscription.
- Customer requests reset.
- Backend verifies entitlement.
- License activation state updates.
- Customer gets clear next-step instructions.
Operational Checklist#
Before launch, confirm:
- Stripe product and price are live
- Checkout creates the subscription
- The Stripe webhook receives the required Stripe events
- The Firebase provisioning endpoint receives all required fields
- Firebase records match the current Stripe subscription status
- Canceled or failed subscriptions change access state
Why This Matters#
Manual license handling creates support issues. A subscription-first provisioning model lets billing and access move together, which is easier for customers and easier to support.
Connect the accounts in NinjaTrader first, then let your copier manage execution inside the same instance.
View pricing