Customer data goes in, Stripe Checkout earns the capped quote, Hermes Agent operates the job through NemoClaw/OpenShell when enabled, NVIDIA models make the route and safety decisions, Stripe Connect handles approved spend, and the customer receives a signed dataset certificate.
The app is not just a form around a model. It is a bounded business loop: earn through Stripe Checkout, operate through Hermes Agent, spend through a capped Stripe Connect Transfer, and prove the result with an AAR certificate.
flowchart LR Customer["Customer"] --> Order["New dataset job"] Order --> Quote["Aegis quote
flat capped price"] Quote --> Checkout["Stripe Checkout
earn rail"] Checkout --> Job["Paid Job"] Job --> Sandbox["NemoClaw/OpenShell
aegis-hermes sandbox"] Sandbox --> Hermes["Hermes Agent
aegis-refine skill"] Hermes --> Ultra["Nemotron 3 Ultra
operations brain"] Hermes --> Aegis["Aegis-14B
data governance"] Hermes --> Safety["Nemotron 3.5
content safety gate"] Aegis --> Work["Refine or synthesize
on DGX Spark"] Safety --> Work Ultra --> Gate{"Need paid tool
within cap?"} Gate -->|No| Work Gate -->|Yes| Spend["SpendTicket
human approval"] Spend --> Transfer["Stripe Connect Transfer
AINode compute"] Transfer --> Verify["Backend verifies
tr id, cap, destination"] Verify --> Work Work --> Cert["Signed AAR certificate
dataset + receipts"] Cert --> Customer
The Dell R750 hosts a sandbox named aegis-hermes. The private operator bridge sends the same bounded job payload into that sandbox with nemohermes exec, where Hermes loads the aegis-refine skill. Receipts record the runtime mode, sandbox name, and runtime-configured NVIDIA inference model.
flowchart TB Backend["Aegis backend
paid job payload"] --> Bridge["Hermes operator bridge
auth + bounded prompt"] Bridge --> Nemo["NemoClaw/OpenShell
aegis-hermes sandbox"] Nemo --> Hermes["Hermes Agent
--skills aegis-refine"] Hermes --> Broker["inference.local
host-managed broker"] Broker --> Nvidia["NVIDIA Endpoints
Nemotron route"] Hermes --> Receipt["operator receipt
runtime + model + route"] Receipt --> Backend
The receipt names the actual model used. Ultra is the primary operations brain; Nano is only a latency fallback when recorded as such. If the content-safety model did not inspect raw evidence, the receipt says metadata-only or pending.
flowchart TB Runtime["NemoClaw/OpenShell
sandbox runtime"] --> Hermes["Hermes Agent
operator runtime"] Hermes --> Skill["aegis-refine skill"] Skill --> Ultra["Nemotron 3 Ultra
routing + cap decisions"] Skill --> Aegis["Aegis-14B
dataset governance"] Skill --> Safety["Nemotron 3.5 Content Safety
PII and unsafe-content gate"] Skill --> Stripe["Stripe skill / transfer helper
approved spend only"] Ultra --> Receipt["operator receipt"] Aegis --> Receipt Safety --> Receipt Stripe --> Receipt
Checkout is the earn rail: the customer pays the capped quote. Connect Transfer is the spend rail: Hermes Agent spends only after the cap gate approves it, and the backend independently verifies the Stripe transfer before recording the ticket as executed.
sequenceDiagram
participant Buyer
participant App as Aegis Backend
participant Stripe as Stripe
participant Hermes as Hermes Agent
participant Vendor as AINode Vendor
Buyer->>App: Request quote
App-->>Buyer: Flat capped price
Buyer->>Stripe: Pay Checkout
Stripe-->>App: checkout.session.completed
App->>Hermes: Dispatch paid job
Hermes->>App: SpendTicket proposed if needed
Buyer->>App: Approve spend
App->>Hermes: spend_approved with cap
Hermes->>Stripe: Create Connect Transfer
Stripe-->>Hermes: tr_ transfer id
Hermes-->>App: Return tr_ id
App->>Stripe: Retrieve transfer
App->>App: Check cap and destination
App-->>Buyer: Verified spend receipt
Stripe-->>Vendor: Transfer to AINode compute
flowchart TB
Start["Agent claims spend"] --> HasId{"Returned tr_ id?"}
HasId -->|No| Queue["temporarily queued"]
HasId -->|Yes| Retrieve{"Stripe retrieve succeeds?"}
Retrieve -->|No| Queue
Retrieve -->|Yes| Cap{"Amount <= approved cap?"}
Cap -->|No| Queue
Cap -->|Yes| Dest{"Destination is AINode vendor?"}
Dest -->|No| Queue
Dest -->|Yes| Execute["Mark SpendTicket executed
record livemode + transfer id"]
If any proof step fails, the job does not pretend. It moves to temporarily queued or asks an operator. That is the point of Aegis: an agent can act, but every economic claim has to verify.
The public workflow stays simple: submit data, accept the capped quote, let the agent operate, and download the refined dataset plus proof.
The quote is flat and capped before any work starts. Accepting it pre-authorizes the agent to run autonomously inside that budget — it can’t bill you past the cap. The only time it stops to ask is if finishing a job would exceed the cap you approved; then you approve a top-up or keep your cap. Either way, no surprise bill.
See a signed certificate →Pay the flat, capped price via Stripe Checkout. The cap becomes the agent’s budget.
Refines or synthesizes autonomously on DGX Spark — and meters its own real spend against the cap.
If finishing would exceed your cap, it asks — approve a top-up or keep your cap. Otherwise, no interruptions.
The custom Aegis-14B model governs every job from local inference. The Hermes operator path can be sandboxed through NemoClaw/OpenShell, while paid external APIs are reserved for cases that justify them and only within the budget you approved.