OMLA has been shut down. The OMLA license and registry were never published and not used. This site is preserved as a historical record only.
For creators

Publish your model

Publishing means signing a manifest: your identity, your model's lineage, the royalty split you choose (with suggested defaults if you want them), and where commercial users pay you. Work down the eight steps and you end up with one finished omla-manifest.json — you never write JSON by hand. Every step runs in this browser tab: your secret key is generated, encrypted and used locally, your weight file is hashed locally, and nothing is uploaded to OMLA or anyone else at any point.

How the eight steps fit together

Three stages. The first is one-time setup you reuse for every model you ever publish; the second describes this model; the third turns the description into a signed, self-contained file.

Steps 1–2 · once, ever

Your identity

A signing key (proves manifests are yours) and a wallet address (names you as a payee). Make them once; reuse them for every model.

Steps 3–6 · per model

Your declaration

What the model is, what it was built from, how the royalty splits between you and your parents, and exactly how to pay you.

Steps 7–8 · per model

One signed file

Your key signs the declaration into omla-manifest.json. Ship it next to your weights — it works the moment it exists.

Already have a key and wallet from a previous model? Skip straight to step 3.

1 Generate a signing key

An Ed25519 keypair, generated locally and encrypted with a passphrase you choose. The secret key is encrypted before it ever touches disk, and it is never sent anywhere — not to OMLA, not over the network. Losing the passphrase means losing the key; there is no recovery.

2 Generate a wallet address

A Bech32m-encoded omla1… address is how the manifest identifies a payee. Generate one, then attach one or more public payment pointers to it — a Lightning address, an on-chain address, a Stripe payment link, a PayPal.Me link, or an invoicing URL. Pointers are public by design: anyone resolving a payment needs to see where it goes.

3 Certify your model

Required for every manifest, regardless of what the model does or who it's for. These become the safety_certifications fields in your signed manifest (schema) — not a one-time website formality, but part of the record your key signs. Full legal text: Terms of Service §6.2–6.3.

0 of 4 certified. All four are required to publish (Terms §6.2) — an insufficiently tested or certified model that generates CSAM is reported and delisted under Terms §6.3, with no exceptions.
"safety_certifications": {
  "no_harmful_use": false,
  "not_for_minors": false,
  "no_csam": false,
  "safety_tested": false
}

4 Describe your model

These fields become the identity half of your manifest. Everything here is public — it is what a commercial user reads to work out that they owe you money.

Hashed in your browser — the file is never uploaded. Large files take a moment.

5 Declare lineage and your split

If your model is built from someone else's, say so — the declared lineage is what makes the chain honest. The split is yours to choose: License §6 suggests defaults, this form prefills them, and whatever you sign is what resolvers follow. Parents can be OMLA models (they receive an upstream share) or any other model (recorded as provenance, no share — they never opted in).

No parent declared, so you keep the whole royalty: 10000 bp.

Only matters when several independent models make one output together — see stacks. Leave it at full weight if you are unsure.

6 Say where you get paid

Your wallet address from step 2, plus at least one public payment pointer. A payer reads these directly out of your manifest — there is no OMLA account in between, so if these are wrong nobody can pay you.

7 Sign it

Load the key bundle you saved in step 1 and unlock it with your passphrase. Signing happens in this tab: the secret key is decrypted in memory, used once, and wiped. It is never sent anywhere.

8 Publish it

Your signed manifest is a self-contained document. It is worth something the moment it exists, before OMLA does anything with it — so publish it where your model already lives:

Send the manifest JSON and the public key you signed it with. Never send your passphrase or your key bundle to anyone, including OMLA — nobody needs it to verify your signature.