Skip to content

Create a bot on Mixin

Every circle runs on its own Mixin bot. You register it yourself, for free, on Mixin’s developer site — and walk away with two things: a file called keystore.json and a line of text called the Client Secret.

Click through the whole thing below — the left half happens on Mixin, the right half on OhMy.xin. Watch the tray under the browser: it fills up as you collect each item.

Mixin DevelopersOhMy.xin
developers.mixin.one
Mixin DevelopersScan with Mixin Messenger
What you take to OhMy.xin
Step 1 of 7

Click the glowing spot — in the browser or in the tray — or use Next.

📄 What's inside keystore.json
  1. "app_id": "7f1c2e9a-…"The bot's public ID. OhMy.xin shows it as the Client ID. Fine to share.
  2. "session_id": "0b6d41f3-…"Which login session this key belongs to. Generating a new session replaces it.
  3. "server_public_key": "9a3e…"Mixin's public key for this session, used to encrypt wallet requests.
  4. "session_private_key": "8c51…"The secret part. Whoever has it can talk as your bot and move its wallet.

Not in this file: The Client Secret. You copy it separately from the OAuth Client Secret card on the same Secret tab.

Three things that look alike
What it isWhere it goes
Client SecretA line of letters and digits from OAuth Client Secret → Generate a new secret.Paste into OhMy.xin once.
keystore.jsonA file named keystore-<Mixin ID>.json, from App Session → Generate a new key → Download.Drop into OhMy.xin once.
Your PINThe 6 digits that unlock your own Mixin wallet.Never — OhMy.xin never asks for it.
The QR code won’t sign me in

Scan it from inside Mixin Messenger (the scan button in the top corner), not with your camera app, and make sure Messenger is up to date.

Save is greyed out or rejected

Check that every field is filled. Mixin has required a description of at least 16 characters, and both URLs must start with https://. Any https address is fine — OhMy.xin rewrites them later.

I closed the window before downloading or copying

Mixin doesn’t store either one, so it can’t show them again. Generate a new one — Generate a new key for the keystore, Generate a new secret for the Client Secret — and use the newest in OhMy.xin.

I can’t find the downloaded file

Look in your browser’s downloads list (Ctrl+J / ⌘⇧J). Look for keystore- followed by your bot’s Mixin ID, like keystore-7000101234.json. A second download may get a number added, like keystore-7000101234 (1).json — that’s fine. If you clicked the button twice, use the newest file. Or skip the file: click Copy in the App Session window and paste the text into OhMy.xin.