# ERC-8128 > Signed HTTP Requests with Ethereum ## Docs - [Specification](/specification): ERC-8128 defines how Ethereum accounts sign HTTP requests using RFC 9421 (HTTP Message Signatures). - [Signing Requests](/guides/signing-requests): Learn how to sign HTTP requests with ERC-8128. - [Smart Contract Accounts](/guides/smart-contract-accounts): How to use ERC-8128 with smart contract accounts (SCAs) like ERC-4337 wallets and Safe. - [Verifying Requests](/guides/verifying-requests): Learn how to verify ERC-8128 signed requests on your server. - [Installation](/getting-started/installation): Install `@slicekit/erc8128` — the official ERC-8128 implementation for signing HTTP requests with Ethereum accounts. - [Quick Start](/getting-started/quick-start): Learn to sign and verify HTTP requests with ERC-8128 in 5 minutes. - [Concepts Overview](/concepts/overview): ERC-8128 combines three technologies to create a secure HTTP authentication system: - [Replay Protection](/concepts/replay-protection): Replay attacks occur when an attacker captures a valid signed request and resends it. ERC-8128 provides multiple layers of defense. - [Request Binding](/concepts/request-binding): Request binding determines which parts of the HTTP request are cryptographically protected by the signature. - [Security Model](/concepts/security-model): Understanding the security guarantees and limitations of ERC-8128. - [Configuration](/cli/configuration): Set defaults in a `.erc8128rc.json` file to avoid repeating options on every command. - [Examples](/cli/examples): Common usage patterns for the ERC-8128 CLI. - [CLI](/cli): `@slicekit/erc8128-cli` is a command-line tool for signing HTTP requests with ERC-8128 — think of it as `curl` with built-in Ethereum authentication. - [Signature Options](/cli/signature-options): Configure how ERC-8128 signatures are generated. - [Wallet Options](/cli/wallet-options): The CLI supports multiple ways to provide an Ethereum wallet for signing requests. - [createSignerClient](/api/createSignerClient): Create a client with a bound signer for convenient repeated use. - [createVerifierClient](/api/createVerifierClient): Create a client with bound verification dependencies for convenient repeated use. - [formatKeyId](/api/formatKeyId): Format a chain ID and address into an ERC-8128 keyid. - [parseKeyId](/api/parseKeyId): Parse an ERC-8128 keyid into chain ID and address. - [signRequest](/api/signRequest): Signs an HTTP Request and returns a new Request with [RFC 9421](https://www.rfc-editor.org/rfc/rfc9421.html) signature headers. - [signedFetch](/api/signedFetch): Signs and sends an HTTP request in one call. - [Types](/api/types): Glossary of types in `@slicekit/erc8128`. - [verifyRequest](/api/verifyRequest): Verify an ERC-8128 signed HTTP request.