# YAMN Nym sender

This binary sends already encrypted YAMN envelopes through the Nym mixnet
using the Rust SDK. Its production daemon mode owns one persistent Nym client
and accepts a bounded queue over a local Unix socket. The queue exists only in
RAM. It is intentionally send-only: it does not receive messages, expose
replies, fetch remailer data, or perform YAMN encoding.

Configuration is supplied through the environment:

- `YAMN_NYM_RECIPIENT`: fixed Nym address of the YAMN ingress service.
- `YAMN_ENTRY_ADDRESS`: exact allowlisted YAMN entry address used by the ingress.
- `YAMN_NYM_STORAGE`: persistent client storage directory. Defaults to
  `/var/lib/yamnweb/nym-client`.
- `YAMN_NYM_SOCKET`: daemon socket path directly inside `/run/yamnweb`.
- `YAMN_NYM_QUEUE_CAPACITY`: maximum in-memory queue size, from 1 to 64.

Production daemon mode:

```sh
yamn-nym-submit --daemon
```

The Unix socket and the compatibility standard-input mode accept one JSON
object:

```json
{"entry_address":"yamn@example.org","payload":"<raw encrypted YAMN SMTP envelope>"}
```

The daemon acknowledges a request after validation and insertion into the
bounded RAM queue. It never logs or persists the request or its contents. The
Nym recipient must be an ingress service that knows how to hand the envelope
to YAMN. A normal SMTP address is not a valid replacement for
`YAMN_NYM_RECIPIENT`.
