> For the complete documentation index, see [llms.txt](https://docs.clique.tech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clique.tech/clique-wallet/features-and-capabilities/transaction-signing.md).

# Transaction Signing

Clique Wallet provides secure transaction signing for all supported blockchain networks. All signing operations occur within the TEE, ensuring private keys never leave the secure enclave.

#### Supported Signing Methods

**EVM-Compatible Chains:**

* EIP-712 structured data signing for typed transactions
* Standard message signing for arbitrary data
* Transaction signing for Ethereum and EVM-compatible chains

**Solana:**

* Native Solana transaction signing
* Message signing for Solana applications
* Support for Solana's transaction format and instruction sets

**Hyperliquid:**

* Native HyperCore transaction signing, using EIP-712 structured data signing for typed transactions

#### Signing Process

1. **Prepare Transaction**: Your application prepares the transaction data according to the blockchain's requirements
2. **Request Signature**: Send the transaction data to Clique Wallet's signing endpoint
3. **TEE Signing**: The transaction is signed within the TEE's secure enclave
4. **Return Signature**: Only the signature is returned—the private key remains protected
5. **Submit Transaction**: Your application submits the signed transaction to the blockchain network

#### Security During Signing

* All signing operations require user authentication through a valid session or API key
* All signing operations occur within the TEE's hardware-protected enclave
* Private keys are never exposed in plaintext during the signing process
* Address verification ensures transactions are signed by the correct wallet
* Transaction validation can be enabled to verify transaction parameters before signing

#### Whitelist Signing

Clique Wallet supports whitelist signing, allowing you to restrict which transactions can be signed. This provides an additional layer of security by ensuring that only approved transactions are processed, protecting against unauthorized or malicious transaction attempts.

**How Whitelist Signing Works:**

* **Transaction Filtering**: When whitelist signing is enabled, only transactions that match the configured whitelist criteria are allowed to be signed
* **Flexible Configuration**: Whitelists can be configured based on various transaction parameters such as recipient addresses, contract addresses, transaction types, or other criteria
* **Automatic Rejection**: Any transaction that doesn't match the whitelist is automatically rejected before signing, preventing unauthorized operations

**Use Cases:**

* **Enterprise Security**: Restrict signing to only approved addresses or contracts, ensuring compliance with organizational policies
* **Risk Management**: Limit transactions to trusted recipients or protocols, reducing exposure to malicious contracts or phishing attempts
* **Operational Control**: Maintain strict control over which operations can be performed, especially for high-value accounts or automated systems

Whitelist signing is an optional security feature that can be configured when needed to provide additional protection for your wallets and assets.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.clique.tech/clique-wallet/features-and-capabilities/transaction-signing.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
