Write on Dwarves Memo

Your blog stays yours. You publish on your own domain, tell us about the post, and if it clears review memo publishes it as a native note with your name, your avatar and a link to the original. Published posts earn ICY.

There is no account to create. Your domain is your proof of identity.

How to join

The fastest way is to tell your AI assistant: “read memo.d.foundation/skill.md and get me onto Dwarves Memo”. The skill file holds every step, so the assistant does the setup and reports back.

  1. You give us your domain, the handle you want, your display name, an email and your consent scope. Your assistant files the join request.
  2. We reply with a one-time verification code. Put it in https://yourdomain.com/.well-known/dwarves.json next to your name, avatar and feed. The code expires after 24 hours.
  3. Memo fetches the file to confirm you control the domain. An editor then approves or declines the request. An editor approves every join; nothing is automatic.
  4. Your assistant checks the request status for the result: approved with your handle, or declined with a reason.

No AI assistant? Use the form

The form files the same join request. We email you the verification code and the dwarves.json steps instead of showing them here.

The domain where your blog lives. It is your proof of identity.

We mail the verification code here. It never appears on a memo page.

3 to 30 characters: a to z, 0 to 9, single hyphens. Taken or invalid wishes get a fallback.

Consent scope

The dwarves.json file

{
  "name": "Han Ngo",
  "avatar": "https://truonghan.com/avatar.png",
  "feed": "https://truonghan.com/rss.xml",
  "memo_verification": "<verification_code from the join reply>"
}

name is required, 1 to 100 characters. avatar, feed and memo_verification are optional, and the file holds nothing else. It is world-readable, so it carries only what your blog already shows. Validate it against the JSON Schema. The feed field is worth adding: it lets memo suggest your new posts.

Your handle

Your handle is your name on memo. It appears in your contributor page, at memo.d.foundation/contributor/<handle>, and in the authors field of your notes. It never appears in a post URL, so changing it can never break a link to a post.

  • Lowercase a to z, 0 to 9 and single hyphens; 3 to 30 characters; no hyphen at the start or end.
  • Reserved route names such as admin, guest, api, writers and join are blocked, and so is any existing contributor name.
  • Picking one is optional. If yours is missing, invalid or taken, memo uses your display name in kebab case (han-ngo), then adds a number if that is taken (han-ngo-2).
  • If you change it later, the old contributor URL redirects to the new one.
  • If an editor links you to a Dwarves member profile, memo credits you on that member page instead, and your old contributor URL redirects there. Your current page address is writer.contributor_url in GET /api/writers/<domain>.

Getting posts on memo

A post reaches memo in one of three ways. All three end in the same review.

  • Feed suggestions. If you gave us a feed, memo checks it daily and suggests new posts to the editors.
  • Submit a URL. Ask the team to submit a post by writing to team@d.foundation.
  • Past posts. After you join, an editor picks which of your past posts to import, only inside your consent scope.

Review judges each post against a written rubric: original, grounded in real work, and coherent. The bar is deliberately permissive. A verdict is published, rejected with a plain reason, or held for a human. Published posts become ordinary memo notes in the normal folders, credited to you, with a link to your original.

You decide what memo may take. At join you pick one scope, and editors can only select posts inside it.

You chooseWhat it means
“Everything I have published”Memo may list any post you published before today. Editors pick which to import.
“Only posts I name”Memo lists only the URLs you give us. Nothing else is touched.
“New posts only”Nothing from before today. Memo may suggest posts you publish from now on.

Staff change your scope only on your written request.

Rewards

Every published post earns a reward of 5 to 20 ICY, paid on Base. An editor sets the amount for each post by judging the content. Nothing is fixed per post.

ItemRule
Published post5 to 20 ICY, a whole number, set by an editor per post
Skipped post0 ICY, only with a written reason that goes into the audit log
Monthly cap per personA limit in ICY that editors can change
  • Editors decide. Views, likes and clicks never touch the math. Featuring a post does not multiply the reward.
  • Rewards are in ICY only. No dollar conversion applies.
  • The cap follows the person. Past the cap, a post earns nothing but still counts toward your tally.
  • Payouts are manual and batched, with a person confirming each batch.
  • A payout on chain is permanent. Memo never shows your wallet address or a transaction hash on a page.

Wallet (optional)

You do not need a wallet to join. Rewards accrue to you either way. When you want to be paid, link a wallet later by signing a message with it. Wallet linking opens later, so you can skip it now. Nobody should ever ask you for a private key or a seed phrase.

Your post, your call

Delete or unpublish a post on your own site and memo takes its note down at the next daily freshness check. Serve a 410 and it goes that day. A 404 gets a one-day grace period in case a deploy broke. You never have to file a takedown request. Small edits sync through; a rewrite or a new title goes back through review.

We keep a private signed archive of every post you submit, including posts you later remove. You decide what stays public; the internal record stays with us, by your consent.

Privacy

The public file carries your display name and avatar. Your email and wallet come to us privately, live in our database, and never render on a memo page, a leaderboard or an API response.

For agents

/skill.md is the machine-readable version of this page. /schemas/dwarves.json validates the profile file, and /llms.txt indexes the whole site. The administrative API is for Dwarves operators, not for writers.