Two addresses, one application
Checking which build each address is serving…Read from each site's own manifest when the page can reach it.
pixagram.dev
The canary. One release ahead, may break.
Build published 4 September 2026
Open pixagram.devA change to the interface goes to pixagram.dev first. When it has run there without incident, the same build is published to pixagram.com. Between releases the two addresses serve identical code; just before one, pixagram.dev shows what pixagram.com is about to become.
- CommitA change lands in the interface repository and is built.
- pixagram.devThe build is published to the canary address. Anyone can use it.
- SoakIt runs against the live chain, on real accounts, until nothing is reported.
- pixagram.comThe same build is published to the app address.
What differs and what is shared
| pixagram.com | pixagram.dev | |
|---|---|---|
| Purpose | Daily use | Trying what is next, finding problems before they reach everyone |
| Code | The last build that ran without incident on pixagram.dev | The newest build |
| Stability | Expected to work | May show a broken screen, a slow view or a feature that changes before release |
| Chain | The same Pixa mainnet, through the same public API nodes. There is no testnet. | |
| Accounts, posts, balances | Identical: they live on the chain, not in the interface. A post made on one address appears on the other within a block. | |
| Transactions | Real and permanent on both. A vote cast or a transfer sent from pixagram.dev is exactly as final as one from pixagram.com. | |
| Your keys and session | Kept on your device, encrypted, and scoped to the address you used. Logging in at pixagram.dev does not sign you in at pixagram.com; you unlock each with your own key. | |
| Settings and drafts | Also per address: the browser stores them separately for each origin. | |
| Installable | Both are progressive web apps: your browser can install either as an app on desktop or phone. | |
Which one to use
Use pixagram.com if
you want the app to behave the same tomorrow as today, you are moving PIXA or PXS, or you are showing Pixagram to someone for the first time.
Use pixagram.dev if
you want the newest editor, feed or wallet feature, you are building against the interface and need to see changes early, or you are willing to report what breaks. Prefer a posting key over an active key while you are there: the posting key can post, vote and follow, and cannot move funds.
The word canary describes the interface, not the network. Nothing on pixagram.dev is a rehearsal: transfers, votes, posts and witness votes are broadcast to mainnet and cannot be undone. Test with small amounts and with the least powerful key that does the job.
What the interface is made of
The interface is a single-page application with no server of its own: static files, served from a CDN, that read the chain through the public API nodes and sign every action locally. The pieces are the libraries on the library page:
- @pixagram/dpixa for every read and every broadcast, with failover between the four public nodes.
- @pixagram/pixa-vault to keep keys encrypted on the device behind a PIN, and @pixagram/lacerta-db for sessions, settings and the offline queue of operations.
- @pixagram/renderart and @pixagram/upscaler to draw pixel art at any size, on the GPU when there is one.
- @pixagram/sanitizer, nsfw and toxicity to treat every byte from the chain as untrusted, on the device.
- @pixagram/paph-js to recognise copies of an artwork before it is minted.
Images are stored on chain as base64 PNG, WebP or SVG inside the post itself, which is why Pixa raised the transaction limit to 128 KiB. The photo-to-pixel-art conversion is the one step that runs elsewhere, on the Hugging Face Space; the result comes back to your browser and nothing is kept there.
Found something?
Say which address you were on, what you did and what you saw, and include the build number shown at the top of this page. The GitHub organisation is the place for issues; for anything involving keys or funds, do not post the details publicly — describe the problem and ask for a private channel.