Ethereum Provider API (EIP-1193)
Abbreviation: EIP-1193
Pronunciation: ih-THEER-ee-um pruh-VY-der A-P-I
Also known as: EIP-1193 Provider, Ethereum JavaScript Provider API, EIP-1193
Definition
Ethereum Provider API (EIP-1193) is a minimal JavaScript interface that standardizes how applications request Ethereum RPC methods from a provider and receive connection, account, chain, and message events. The provider is an untrusted transport-facing object from the application’s perspective and is not itself a wallet security boundary or guarantee of user approval. A production implementation should validate chain and accounts, handle provider events, request permissions deliberately, treat returned data as untrusted, recover from disconnects, and avoid assuming one wallet-specific extension. Key risks include wrong-chain transactions, stale account state, malicious or compromised providers, ignored chain-change events, unsupported methods, user rejection, and race conditions during connection changes.
Overview
Ethereum Provider API (EIP-1193) is a minimal JavaScript interface that standardizes how applications request Ethereum RPC methods from a provider and receive connection, account, chain, and message events. The provider is an untrusted transport-facing object from the application’s perspective and is not itself a wallet security boundary or guarantee of user approval.
Key risks include wrong-chain transactions, stale account state, malicious or compromised providers, ignored chain-change events, unsupported methods, user rejection, and race conditions during connection changes. When nodes disagree during Ethereum Provider API (EIP-1193), the application should preserve both observations and defer irreversible action until the authoritative chain state is clear.
A production implementation should validate chain and accounts, handle provider events, request permissions deliberately, treat returned data as untrusted, recover from disconnects, and avoid assuming one wallet-specific extension. Observability for Ethereum Provider API (EIP-1193) should correlate request ID, provider, method, latency, error code, block reference, and transaction state.
Useful measures include request rejection rate, disconnects, chain-switch failures, account-change events, unsupported-method errors, and transactions blocked because provider state was stale. Ethereum Provider API (EIP-1193) is closely connected to Ethereum JSON-RPC, Wallet Adapter, and WalletConnect Session. A Ethereum Provider API (EIP-1193) client should validate network identity, units, encoding, and method semantics before acting on provider data.
The Ethereum Provider API (EIP-1193) recovery procedure should distinguish a rejected RPC call from a transaction that was broadcast but not acknowledged.
For Ethereum Provider API (EIP-1193), the client should retain chain, method, block or transaction reference, provider response, and the final on-chain observation.
Key Takeaway
Validate chain and accounts, handle provider events, request permissions deliberately, treat returned data as untrusted, recover from disconnects, and avoid assuming one wallet-specific extension.
Sources
- EIP-1193: Ethereum Provider JavaScript API — Ethereum Improvement Proposals (2026-08-03)
- JSON-RPC API — Ethereum Foundation (2026-08-03)
- EIP-1474: Remote procedure call specification — Ethereum Improvement Proposals (2026-08-03)