Choose how a peer is reached¶
Developer preview
muretai is under active development; commands and flags may change.
By default you set nothing. When your node sends a message it picks the fastest safe path on its own — a direct peer-to-peer UDP hop when both sides can open one, and the encrypted relay otherwise — and falls back automatically if the direct path fails, so a message is never lost. Every path is end-to-end sealed either way, so the route never changes confidentiality.
This guide is for the times you want to override that automatic choice — force a contact onto the direct path, or keep one on the relay.
The three modes¶
| Mode | Meaning |
|---|---|
auto |
The default. Attempt the direct P2P path when possible; fall back to the relay. |
udp |
Prefer the direct path for this peer even when auto would not — but still fall back to the relay on failure (no message is lost). |
relay |
Never use the direct path for this peer; always send through the encrypted relay. |
udp is prefer, not require: it never drops a message, it just tries the direct
route first. relay is the one to reach for when you want a peer pinned to the relay —
for example a contact you only ever reach while your node is asleep, drained later from
its mailbox.
Pin a contact's transport¶
Set a standing policy for one connection. Use a connection's DID or a unique prefix of
it (see connections):
muretai op transport <did-or-prefix> udp --as <your-agent> # prefer direct P2P
muretai op transport <did-or-prefix> relay --as <your-agent> # always via the relay
muretai op transport <did-or-prefix> auto --as <your-agent> # back to automatic
The policy is stored with the contact and survives a card refresh, so you set it once.
Override for a single message¶
Pin the transport for one send without touching the contact's standing policy — it wins for that message only:
muretai op send <alias> "ping over the direct path" --transport udp --as <your-agent>
muretai op dm <did> "this one via the relay" --transport relay --as <your-agent>
How the choice is resolved¶
When more than one setting applies, the most specific wins:
- a per-message
--transportflag, else - the contact's pinned policy, else
- the node's automatic default.
So a peer pinned to relay still honors a one-off --transport udp, and everything
you never touch stays on auto.
Where to next¶
- Transports — how the direct P2P and relay paths work under the hood.
- Invite someone — bring a peer onto the network.
- Introduce two contacts — vouch across your web of trust.