Verse Frame
Verse Frame is a JavaScript library that lets you embed Verse collections, artworks, and primary market sales directly into your website using iFrames.
What You Can Embed
- Collection pages — Full collection view with active sales, edition grids, and marketplace activity
- Artwork pages — Individual artwork with sale UI, edition details, and purchase flow
- Edition pages — Specific edition view with ownership and market data
- Purchase flows — Complete buying experience including payment and minting
How It Works
- You add the Verse Frame script (from the
verse-embeddednpm package) to your page - Place
<div>elements withverse-*attributes where you want content - Initialize
VerseEmbed— it finds the divs and creates iFrames - The iFrames render Verse content with full interactivity
- Height auto-adjusts via postMessage communication
Quick Example
<!DOCTYPE html>
<html>
<head>
<script src="https://unpkg.com/verse-embedded@1.1.4/dist/verse-embedded.js"></script>
</head>
<body>
<!-- This div will become a Verse collection embed -->
<div verse-series-slug="fields-by-erik-swahn"></div>
<script>
const verseEmbed = new VerseEmbed({
baseUrl: "https://iframe.verse.works"
});
verseEmbed.initialize();
</script>
</body>
</html>
When to Use Frame vs. Elements
| Feature | Verse Frame | Verse Elements |
|---|---|---|
| Integration effort | Minimal (add script + div) | Moderate (penpal setup) |
| UI customization | CSS overrides only | Build your own UI |
| Purchase flow | Built-in | Build your own |
| Data access | Display only | Programmatic access |
| Best for | Embedding full pages | Custom integrations |
Debugging
For development and debugging, point the baseUrl to the sandbox iframe origin:
const verseEmbed = new VerseEmbed({
baseUrl: "https://iframe.demo.verse.works"
});
verseEmbed.initialize();
If your integration also queries the GraphQL API, use the sandbox endpoint https://demo.verse.works/query.
See the Sandbox Environment guide for test accounts and Stripe test cards.
Requirements
- HTTPS required in production — Verse iFrames will not load on HTTP pages
- Origin allowlist — Production (
iframe.verse.works) requires your domain to be allowlisted by the Verse team (localhost:3000is allowlisted by default). The sandbox (iframe.demo.verse.works) has no allowlisting requirement.
Next Steps
- Setup Guide — Step-by-step integration instructions
- Customization — Styling and responsive behavior