It's like TLS but stateless. In TLS, a handshake is established in at least one round for the key exchange. Thus TLS is stateful.
Suppose we want to have an authenticated and encrypted communication protocol over a stateless transmission channel, or the cost of maintaining states between messages is too high. For example, using HTTP as an underlying transmission channel instead of raw TCP sockets. HTTP is inherently stateless, and it's hard to keep track of the sender of HTTP message behind proxies. Maintaining states over HTTP cost more.
I'm looking for an existing protocol that can be used in such cases. Such that each message is self-contained to complete the full key exchange and authentication. Also it has to address replay attack in some degree since there's no handshake round, just like TLS 1.3 0-RTT.
Of course we have to assume the client and server know each other's public keys. Also by the nature of HTTP/1, server can only reply to a message but can not initiate a conversation with a client. Therefore, only a RPC style protocol is enough for this case, but a more general protocol is preferred.
I have already implemented a custom protocol for this, but it would be much better if there are well maintained protocols for this.