How to schedule Nostr posts (and cross-post them with Bluesky and X)

Nostr is easy to post to and hard to post to on a schedule. There's no "schedule for later" button in Damus, Primal, or Amethyst, because the protocol has no server to hold your post until later. Your client signs a note with your key and sends it to relays immediately.

If you post on Nostr alongside X, Bluesky, or Mastodon, that usually means Nostr gets posted late or not at all. This guide covers how Nostr scheduling actually works, what to know before handing a tool your key, and how to schedule notes from the same calendar as everything else.

Why Nostr clients can't schedule

A Nostr note is a signed event: your text, a timestamp, and a signature made with your secret key. Relays accept the event, store it, and serve it to anyone who asks.

Two things follow from that:

  1. Something has to sign and send the note at the right time. Relays don't hold posts for later; they publish what they receive.
  2. A future timestamp doesn't schedule anything. Setting created_at to next Tuesday just makes the note look like it was written next Tuesday. Many relays reject future-dated events, and the ones that don't show the note immediately.

So scheduling on Nostr means a tool that holds your key, waits, and then signs and sends the note when it's due.

Before you start: your key

Your Nostr identity is a key pair:

  • npub: your public key. Share it freely; it's how people find you.
  • nsec: your secret key. Anyone who has it can post as you.

Nostr keys can't be revoked or reset. If an nsec leaks, the only fix is to start over with a new identity. Before pasting your nsec into any tool:

  • Use tools that encrypt keys at rest and only use them to sign your own posts.
  • For a brand or project account, consider a separate key from your personal one.
  • Remote signing (NIP-46, "bunker" login) lets a tool request signatures without holding your key. Support for it varies across tools.

How to schedule a Nostr note with Schedulin

  1. Copy your nsec. In your Nostr client, open the key or backup settings and copy the key that starts with nsec1….
  2. Connect Nostr. On Schedulin's Channels page, start the Nostr connection and paste the key. Leave the relays field blank to use the defaults (relay.damus.io, nos.lol, relay.nostr.band, relay.snort.social), or list your own.
  3. Write the note. Write in the composer and attach images if you want. Each image is linked at the end of the note, and clients show it inline.
  4. Pick a time. Choose a date and time or add it to your queue.

When it's due, Schedulin signs the note and sends it to every relay on your list. As soon as one relay accepts it, the post is marked published, with an njump.me link to the note.

Cross-posting Nostr with Bluesky, Mastodon, and X

Many people on Nostr also read Bluesky, Mastodon, or X. Because the networks have different limits and conventions, write the post once and adjust each version:

  • Bluesky has a 300-character limit, so long notes need trimming or a thread.
  • Mastodon defaults to 500 characters and prefers content warnings for some topics.
  • X has a 280-character limit on free accounts.
  • Nostr has no hard limit, but long notes get collapsed in most clients.

In Schedulin, select Nostr alongside your other channels in one composer, adjust the text for each, and schedule them for the same time. If the date changes, move them together on the calendar.

Limits to know

  • Scheduled posts are plain text notes (kind:1) with optional images. Long-form articles (kind:30023), replies, and zaps are separate event types and aren't scheduled this way.
  • There's no central analytics on Nostr, so schedulers can't report likes or zaps the way they can on centralized networks.
  • Paid or allowlist-only relays may reject notes from a scheduler. If a relay refuses your note, swap it for one that accepts your account.

The short version

Nostr clients can't schedule because the protocol publishes whatever relays receive, immediately. To post later, a tool has to hold your key and send the note on time. Decide how much you trust that tool with your nsec (or use a separate key), pick a few widely read relays, and schedule Nostr alongside the rest of your channels.

Frequently asked questions

Not from Nostr clients themselves. A note has to be signed and sent to relays at the moment it's published, so you need a tool that holds your key and sends the note at the scheduled time. Schedulin does this and puts Nostr on the same calendar as your other networks.