StellarTools marketplace apps are web apps that run inside anDocumentation Index
Fetch the complete documentation index at: https://docs.stellartools.dev/llms.txt
Use this file to discover all available pages before exploring further.
iframe embedded directly in the dashboard. Your app receives the active organization’s context and can subscribe to real-time payment events.
Install the bridge
The only frontend dependency you need:Initialize in your React app
Callstellar.init() once on mount. It reads context from URL params injected by StellarTools, starts an auto-resize observer so your iframe fits its content, and returns the context object.
Context fields
| Field | Type | Description |
|---|---|---|
organizationId | string | The active organization |
environment | "testnet" | "mainnet" | Which network the org is on |
theme | "light" | "dark" | The dashboard theme |
pathname | string | The current dashboard route |
installationId | string | Unique ID for this org’s installation — use it to key your backend records |
Host communication
Define your manifest
When submitting your app you provide a manifest that declares exactly what it needs. Users see your scopes and events before they install.Display name shown in the marketplace. 2–50 characters.
Short description shown on the listing card. Max 200 characters.
Your app’s public homepage.
The URL StellarTools loads inside the iframe. Context params are appended as query strings automatically.
If provided, StellarTools will POST signed event payloads here. Omit if you don’t need event subscriptions.
At least one scope is required. Declare only what your app actually needs — users see the full list before installing.
Event types to subscribe to. Only relevant if you have a
webhookUrl.Semantic version of your app. Defaults to
1.0.0.Scopes
Scopes follow the patternread:resource or write:resource.
| Scope | What it grants |
|---|---|
read:customers / write:customers | Customer records |
read:payments / write:payments | Payment history and status |
read:subscriptions / write:subscriptions | Subscription lifecycle |
read:checkouts / write:checkouts | Checkout sessions |
read:payouts / write:payouts | Payout records |
read:refunds / write:refunds | Refund records |
read:payment_methods / write:payment_methods | Saved payment methods |
read:products / write:products | Product catalog |
read:portal | Customer portal sessions |
* | All resources, shown prominently to users and to be used sparingly |
Webhook events
When a matching event fires, StellarTools POSTs a signed payload to yourwebhookUrl.
Available events
| Event | Fires when |
|---|---|
payment.confirmed | A payment is confirmed on-chain |
payment.pending | A payment is pending |
payment.failed | A payment fails |
customer.created | A new customer is created |
customer.updated | Customer details change |
customer.deleted | A customer is deleted |
checkout.created | A checkout session opens |
subscription.created | A subscription starts |
subscription.updated | A subscription is modified |
subscription.canceled | A subscription is canceled |
refund.succeeded | A refund is issued |
refund.failed | A refund fails |
payment_method.created | A payment method is saved |
payment_method.deleted | A payment method is removed |

