RPC Node
Our RPC Node Proxy operates as a secure gateway that provides authenticated access to the StarkNet RPC node. It acts as an intermediary between your applications and StarkNet nodes, requiring cryptographic signatures for all authenticated requests to ensure security and privacy.
Overview
The RPC Node Proxy implements a signature-based authentication system using EIP-712 typed data for StarkNet. While non-authenticated requests are allowed, they return masked data for privacy.
When you authenticate with your account’s private key, you gain full access to your own account’s data, while other accounts’ data remains masked. This privacy-preserving approach ensures that users can access their own information while protecting sensitive data from other accounts on the network.
RPC Compatibility
- Apart from the authentication layer and data masking, the proxy is fully compatible with standard StarkNet RPC nodes. It follows the JSON-RPC 2.0 specification and supports all StarkNet RPC API methods with identical input parameters and output formats.
- Supports both v0.7 and v0.8 StarkNet RPC endpoints
Access Model
- Full access to your account data
- All other account data masked
- Public data fully accessible
- All account data masked
- Public data fully accessible
Authentication Flow
API Endpoints
The RPC Node Proxy supports the following endpoints:
Mainnet
Testnet
Signature Requirements
EIP-712 Typed Data Structure
All authenticated requests must be signed using the following EIP-712 typed data structure (version 1.0.0):
Domain Fields
Message Fields
Required Headers
All authenticated requests must include these headers.
If authentication headers are missing, the request proceeds in unauthenticated mode.
Request Examples
cURL
Python
Security Considerations
- Private Key Security: Never expose your private keys in client-side code
- Timestamp Validation: Ensure your system clock is synchronized to prevent timestamp-related errors
- Future timestamps: Maximum 1 second tolerance
- Past timestamps: Subject to configurable expiry time
- Signature Uniqueness: Each request requires a fresh signature with a current timestamp
- Network Security: Always use HTTPS when making requests to the proxy