Overview
RILLO turns an idea into a project package with five sections: Brand, Visuals, Social, Website and Launch. Every field is editable. You can work across several sessions, regenerate one section at a time, export the package as a ZIP, and launch a token through the Pons V2 factory on Robinhood Chain from your own wallet.
RILLO is non-custodial. It never asks for a private key or seed phrase and it cannot move funds. It prepares a transaction; your wallet signs it.
Drafts and versions
Projects are private. When you start working, RILLO gives this browser a session, and your drafts belong to it. Signing in with a wallet attaches the drafts to that wallet so you can reach them elsewhere.
Signing in
Connecting a wallet only tells the page an address. To sign in, you sign a one-time message that RILLO issued for your session. Each message has a nonce, expires after ten minutes and works once. RILLO never treats an address sent by the browser as proof of ownership.
Autosave
Edits are saved about a second after you stop typing. The top bar shows Saving, Saved or Save failed. Saves are sent one at a time and carry the version they were based on. If the project changed elsewhere, for example in another tab or because a generation finished, your unsaved fields are re-applied on top of the latest version instead of overwriting it.
Versions
Before a generation or a restore replaces a section, RILLO stores the section as it was, and then stores the new state. History lists these versions per section. Restoring one first saves the current state, so a restore can itself be undone.
Your edits are kept
RILLO tracks which fields you changed by hand. Regenerating a section leaves those fields alone unless you tick Replace my edited fields. History shows which fields were kept.
Generation
All text and image generation runs on the RILLO server. Provider keys never reach the browser. The text model returns structured content only, which RILLO validates, trims to field limits and checks before saving. It is never asked for HTML or code.
- Generated copy is rejected if it contains anything that looks like a contract address or transaction hash. The launch post draft uses the placeholder [CA].
- Name, ticker and handle ideas are suggestions. RILLO does not check availability.
- Each generation is a job that survives restarts. Clicking twice, reloading or retrying a request does not start a second paid job.
- There are daily limits per account and a limit on simultaneous generations. Failed provider calls are retried a bounded number of times.
- Usage and cost are recorded per provider call. Cost is stored as provider-reported when the provider returns it, as an estimate when prices are configured, and as unavailable otherwise. Unavailable is never shown as zero.
When no provider is configured
Generation buttons are disabled and say why. Writing, editing, uploads, versions and export still work. An operator can turn on demo fixtures, which return placeholder content that is labeled Demo fixture everywhere it appears, including in the pixels of fixture images.
Visuals
Generate a profile picture and an X banner, or upload PNG, JPEG or WebP files. Uploads are identified by their actual bytes, limited in size, then decoded and re-encoded, which removes metadata and anything hidden in the file. SVG and other formats are refused.
The crop guides show how X displays each image. Drag to reposition and use Zoom. Exports use exactly the crop you see: 800 by 800 for the profile picture and 1500 by 500 for the banner. Earlier images stay in the project library.
Website
Three templates: Editorial brand page, Community or character, and Minimal product launch. You choose colors, images, links, text and which sections appear and in what order.
Templates are fixed code. Your content is inserted as escaped text, links must be https, and no generated code is executed. The preview runs in a sandboxed frame with its own origin, so it cannot reach your RILLO session.
The Token section says Not launched yet until RILLO has verified a launch for the project. After that it shows the contract address, chain, Pons link and deployment transaction. The exported site has no wallet connection, and the one action it cannot perform is labeled Under development.
Launch kit export
Export launch kit saves your pending edits first, then downloads a ZIP built from the saved project:
| Path | Contents |
|---|---|
visuals/ | profile-picture.png and x-banner.png, cropped as in the editor |
brand/ | Brand copy as Markdown and JSON |
social/ | Bio and post drafts, marked as drafts |
token/metadata.json | Token name, ticker, description and links |
launch/launch-config.json | Launch settings, split into values verified on the Pons factory and items still unresolved |
website/ | index.html, styles.css, script.js and assets. Runs on nginx or any static host without RILLO |
README.md | What is inside and how to deploy the site |
The ZIP contains only this project. It has no secrets and no data from other projects.
Launching on Pons
Launches go through the Pons V2 launch factory on Robinhood Chain (chain ID 4663) at 0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e. Pons is a third-party protocol. RILLO adds no fee and no contract of its own.
What RILLO reads before it lets you launch
- That contract code exists at the factory address, and that the factory points to the hook, deployer, escrow and vault that Pons documents.
- The launch fee and who receives it, the launch configurations, the creator tax ceiling and whether public launches are open.
- Which quote assets the factory supports. Native ETH is offered when a configuration is enabled for it. Any other asset is offered only if
approvedPairTokensis true for it, the factory holds economics for it, and its decimals match. - That RILLO can reproduce the factory's own economics digest from the values it read. If it cannot, RILLO's understanding of the contract is wrong and Launch stays disabled.
- Whether your wallet may launch (
canLaunch). Pons currently restricts launching to whitelisted wallets while public launches are closed. RILLO cannot change that.
If any of this cannot be read, the Launch tab shows Pons integration unavailable with the reason, and the button is disabled. Everything else keeps working.
Review and signature
- Review launch saves your edits and builds the exact
launchTokencall. The server simulates it from your address, then your browser simulates it again and estimates gas. - The review lists network, wallet, token, supply, quote asset, fees and recipients, factory, approvals, launch fee, gas and anything unresolved. No token approval is needed: launching only sends the ETH launch fee.
- If the wallet, network, launch details or Pons terms change after the review, it is discarded and you review again. The call also pins the reviewed economics, so a change on the Pons side makes the transaction revert instead of launching on different terms.
- Sign and launch opens your wallet. RILLO does not send anything itself.
Transaction states
| State | Meaning |
|---|---|
| Awaiting signature | The request is open in your wallet. |
| Submitted | Your wallet returned a transaction hash. The network has not shown it to RILLO yet. |
| Pending | The network has the transaction, or it is mined and collecting confirmations. |
| Confirmed | RILLO read a successful receipt, found exactly one TokenLaunched event from the factory for your wallet, matched the launch reference in the transaction data, checked the factory registry, and waited for the required confirmations. |
| Reverted | The transaction was mined and failed. No token exists. |
| Rejected by user | You declined in the wallet. Nothing was sent. |
| Verification unavailable | RILLO cannot reach the chain to check. The transaction is not marked successful or failed, and RILLO keeps trying. |
You can close the page after signing. The server keeps checking, and if the hash never reached RILLO it finds the launch onchain by the reference it placed in the transaction.
Explore and analytics
Explore lists only launches in the Confirmed state. Each entry stores the chain ID, contract address, creator, transaction hash, block and verification state. If a block is reorganized away, the launch is removed from Explore and checked again.
Analytics shows counts from that verified data, plus bonding-curve trades of RILLO launches read from chain events since RILLO started following the chain. Pool volume after graduation, creator earnings and protocol revenue have no data source in RILLO yet and are shown as Unavailable.
Configuration
For operators. Server settings live in the environment file; see .env.example in the source.
- The site URL, X link, $RILLO contract address and its Pons link are runtime settings served by
/api/public-config. Change them withnpm run config -- set <key> <value>. No rebuild or restart is needed. Until the token address is set, the site says Token not configured. RPC_URLStakes one or more Robinhood Chain endpoints. Without it RILLO uses the public endpoint, which is rate limited and not meant for production.- AI providers, model IDs and optional prices are set with the
AI_TEXT_*andAI_IMAGE_*variables. Nothing is assumed when they are empty. /api/healthreports that the process is up./api/readinessreports each dependency separately.
Live status
Read from this server just now.
Checking…