<iframe>.
Quick Start
your-org with your organization’s slug or UUID (both work). The widget automatically shows every active market that belongs to your organization — and nothing else.
The organization identifier
The{org} segment in https://app.kash.bot/o/{org}/iframe accepts either form:
string
Your organization’s slug — friendly and human-readable, e.g.
acme.
Recommended for embeds you hand-write.string
Your organization’s UUID, e.g.
550e8400-e29b-41d4-a716-446655440000.
Matches the organizationId used by the REST API.GET /api/organizations/:id (the response includes id and slug).
Only your organization’s markets are ever returned — the organization is fixed by the URL, so another organization’s markets can never appear in your embed.
Iframe Attributes
Required Attributes
string
required
The organization iframe URL:
https://app.kash.bot/o/{org}/iframeRecommended Attributes
string
default:"100%"
Iframe width - use
100% for responsive designstring
default:"900"
Iframe height in pixels. The grid scrolls internally, so taller is better for showing more markets without scrolling.
string
default:"0"
Border width (set to
0 for seamless embed)string
default:"lazy"
Use
eager for above-fold embeds, lazy for below-foldstring
Accessibility: describe the iframe content for screen readers
Query Parameters
string
Source label for embed analytics (e.g., your domain name). Recommended so you can see where embed traffic comes from.
Complete Example
- Embeds every active market belonging to the
acmeorganization - Renders a branded grid with your organization’s logo and name
- Labels embed traffic as
acme.comin analytics (revenue share itself is earned on trades in markets your organization creates) - Each card deep-links to Twitter so visitors can post & trade (no login required in the iframe)
Responsive Design
Wrap the iframe in a responsive container:Security Considerations
Sandbox Attribute
allow-scripts- Required for embed functionalityallow-same-origin- Allows API calls to Kash backendallow-popups- Enables opening Twitter to post & tradeallow-forms- Allows trading form submissions
Content Security Policy (CSP)
If your site uses CSP headers, add Kash to allowed sources:Performance Best Practices
Preconnect to Kash Domain
Common Issues
Widget shows no markets
Problem: Embed loads but the grid is empty Solutions:- Confirm your organization has active markets via
GET /api/organizations/:id/markets - Verify the slug or UUID in the URL is correct
- If you only have resolved markets, they won’t show by default — the widget shows active markets
”Organization not found”
Problem: The widget renders a not-found message Solutions:- Double-check the slug or UUID — a typo can’t be matched to an organization
- Fetch your organization to confirm its identifiers:
GET /api/organizations/:id
Next Steps
GET /api/organizations/:id/markets
Fetch your markets programmatically instead of embedding
Embedding Thread Iframes
Embed a single thread’s markets instead