How to test gRPC from your phone

On-call and the laptop is at home? gRPC is just HTTP/2 + protobuf — here is the whole flow from an iPhone, including the two errors everyone hits.

TL;DR

Endpoint + (reflection or .proto) + metadata auth = a complete gRPC call from your phone. ReqPad is the only mobile API client with gRPC and Socket.IO support.

The six steps

The two errors everyone hits first

UNAVAILABLE on the first call — almost always TLS vs plaintext. Production endpoints on 443 want TLS; dev servers on 50051 usually do not. Flip the connection security setting before debugging anything else.

UNAUTHENTICATED with a valid token — your token is fine, its delivery is not. gRPC does not read HTTP query params or cookie jars; the token must be in metadata, usually as authorization: Bearer …, lowercase key included. Decode the token first with our JWT decoder to rule out expiry before blaming the transport.

FAQ

Can I test gRPC on a phone at all?

Yes. gRPC is HTTP/2 + protobuf, and a native client can speak it from iOS. ReqPad is the only mobile API client with gRPC and Socket.IO support — server reflection and .proto import included.

My server has no reflection enabled — am I stuck?

No. Reflection is just the discovery convenience. Import the .proto file instead; the schema gives you the same service and method list.

Why do I get UNAVAILABLE immediately?

Nine times out of ten it is a TLS/plaintext mismatch: you are calling a TLS endpoint as plaintext or vice versa. Check the port too — 443 implies TLS, 50051 usually does not. The rest are firewalls or a server that only binds localhost.

What about testing from a laptop?

grpcurl is the standard CLI for that and it is excellent. The point of doing it from a phone is the situations where the laptop is not there — on-call, commuting, or verifying a device-specific network path.

Your gRPC services, callable from your pocket.

Server reflection, .proto import, metadata auth — plus REST, GraphQL, MQTT, WebSocket & Socket.IO. Free to start.