gRPC supports most methods as the JSON-RPC endpoint - except for gSFA - plus two new streaming methods for transactions and blocks, full list below:
```shellscript
# download proto file
wget -O old-faithful.proto https://raw.githubusercontent.com/rpcpool/yellowstone-faithful/refs/heads/main/old-faithful-proto/proto/old-faithful.proto
# GetVersiono
grpcurl \
-proto old-faithful.proto \
-H 'x-token: <redacted-token>' \
-d '' \
customer-endpoint-2608.mainnet.rpcpool.com:443 \
OldFaithful.OldFaithful/GetVersion
# GetBlockTime
grpcurl \
-proto old-faithful.proto \
-H 'x-token: <redacted-token>' \
-d '{"slot": 307152000}' \
customer-endpoint-2608.mainnet.rpcpool.com:443 \
OldFaithful.OldFaithful/GetBlockTime
# Get Block
grpcurl \
-proto old-faithful.proto \
-H 'x-token: <redacted-token>' \
-d '{"slot": 307152000}' \
customer-endpoint-2608.mainnet.rpcpool.com:443 \
OldFaithful.OldFaithful/GetBlock
# GetTransaction
grpcurl \
-proto old-faithful.proto \
-H 'x-token: <redacted-token>' \
-d '{"signature": "GbXoI+D7hhgeiUwovUhtaxog6zsxFcd5PKfhQM85GR6+NqmiFmQDf9cCCVj8BRj+DR1RvgR/E2E/ckbSGuQKCg=="}' \
customer-endpoint-2608.mainnet.rpcpool.com:443 \
OldFaithful.OldFaithful/GetTransaction
# StreamBlocks
grpcurl \
-proto old-faithful.proto \
-H 'x-token: <redacted-token>' \
-d '{"start_slot": 307152000, "end_slot": 307152010}' \
customer-endpoint-2608.mainnet.rpcpool.com:443 \
OldFaithful.OldFaithful/StreamBlocks
# StreamBlocks with filters
grpcurl \
-proto old-faithful.proto \
-H 'x-token: <redacted-token>' \
-d '{"start_slot": 307152000, "end_slot": 307152010, "filter": {"account_include": ["Vote111111111111111111111111111111111111111"]}}' \
customer-endpoint-2608.mainnet.rpcpool.com:443 \
OldFaithful.OldFaithful/StreamBlocks
# StreamTransactions with filters
grpcurl \
-proto old-faithful.proto \
-H 'x-token: <redacted-token>' \
-d '{"start_slot": 307152000, "end_slot": 307152010, "filter": {"vote": false, "failed": true}}' \
customer-endpoint-2608.mainnet.rpcpool.com:443 \
OldFaithful.OldFaithful/StreamTransactions
```