Simple and powerful RPC for Scala
Flexible
Customize data type serialization, remote API function names, RPC protocol errors and authentication.
Modular
Choose plugins for RPC protocol, effect handling, transport protocol and message format.
Permissive
Consume or create dynamic message payload and access or modify transport protocol metadata.
Discoverable
Utilize discovery functions providing OpenRPC 1.3+ and OpenAPI 3.1+ schemas for exposed APIs.
Compatible
Use with Scala 3.3+ or 2.13+ on JRE 11+ and easily integrate with various popular libraries.