> ## Documentation index
> Fetch the complete documentation index at: https://hypertake.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Every signature you're asked for

> Each wallet prompt Hypertake shows, when it appears, what it allows and what it can't do, including the two to turn on trading

Source: https://hypertake.net/docs/security/signatures · Last updated: 2026-10-17

Hypertake asks your wallet for a short, fixed list of things: **a connection, one sign-in message on desktop, two approvals to turn on trading, and a confirmation for each deposit and withdrawal.** The approvals let Hypertake charge its fee and place the orders you press; only deposits and withdrawals move money, and each one needs your confirmation.

## All of them, in one table

| Prompt | When you see it | What it allows | What it can't do | Cost |
| --- | --- | --- | --- | --- |
| **Connect** | When you press **Connect** and choose a wallet | Hypertake sees your address and your wallet's current network | Sign anything or move funds | Free |
| **Sign-in message** | Right after connecting, on desktop and in a wallet's own browser. Not asked after connecting a phone wallet with WalletConnect | A 30-day session on Hypertake's server, so it can send you notifications | Trade, approve or move anything; it isn't a transaction | Free |
| **ApproveBuilderFee** | Turning on one-tap trading on mainnet, once per account | Hypertake's builder address may charge up to **1%** on orders Hypertake sends | Take money outside an order, or charge more than 1% | Free, no gas |
| **ApproveAgent** | Turning on one-tap trading, once per browser | A key made in this browser signs your orders, cancels and leverage changes for 179 days | Withdraw, transfer, or approve fees or other keys | Free, no gas |
| **ApproveAgent** (to turn off) | Pressing **Turn off** | Replaces this browser's key with a throwaway one that expires in 60 seconds | Anything else | Free, no gas |
| **Switch to Arbitrum** | Starting a deposit while your wallet is on another network | Your wallet changes network (or adds Arbitrum One) | Anything else | Free |
| **USDC approval** | Depositing USDC, unless an earlier approval still covers it | Relay's deposit contract may take **exactly** this amount of USDC | Take more than the amount | Arbitrum gas |
| **Deposit** | Every deposit | Sends your USDC or ETH to Relay, which credits it to your Hyperliquid account as USDC | Send it to any other recipient: Hypertake checks the recipient is your own address before asking | Arbitrum gas, plus Relay's fee |
| **Withdraw** | Every withdrawal | Sends USDC from your Hyperliquid account to your own address on Arbitrum | Send it anywhere else: the destination is always your connected address | No gas; Hyperliquid's $1 fee |
| **Transfer to perps** | Some withdrawals from an account that keeps spot and perps apart | Moves USDC from spot to perps inside your own account, so it can be withdrawn | Leave your account | Free, no gas |

_Hyperliquid actions (fee, key, withdrawal) are signed on whatever network your wallet is on: no network switch is needed. Only deposits need Arbitrum One._

## Turning on trading, step by step

Turning on one-tap trading is the only moment Hypertake asks for two signatures in a row. The first approves the fee, the second approves the key. Here's what happens between your wallet, your browser and Hyperliquid.

**Turning on one-tap trading (mainnet, first time)**

Participants: You, Your wallet, Hypertake (browser), Hyperliquid.

1. You → Hypertake (browser): Press Turn on one-tap trading
2. Hypertake (browser) → Hyperliquid: Is Hypertake's fee approved for this account? (maxBuilderFee)
3. Hypertake (browser) → Your wallet: ApproveBuilderFee: builder 0x0b8f…3d1d, max 1%
4. You → Your wallet: Confirm (signature 1)
5. Hypertake (browser) → Hyperliquid: Posts the fee approval
6. Hypertake (browser) → Hypertake (browser): Makes a new trading key in the browser (never leaves the device)
7. Hypertake (browser) → Your wallet: ApproveAgent: the key's address, "Hypertake w 7f3a valid_until …"
8. You → Your wallet: Confirm (signature 2)
9. Hypertake (browser) → Hyperliquid: Posts the key approval, reads back its expiry
10. Hypertake (browser) → Hypertake (browser): Stores the key, encrypted, in this browser
11. Hypertake (browser) → Hyperliquid: Only if your account keeps spot and perps apart: switch to one balance, signed by the key (no prompt, nothing moves)

If the fee is already approved (another browser did it), only the second signature is asked. Decline the first and nothing else happens: "Trading on Hypertake needs its fee approved: nothing was changed."

> **Note: Your account must be funded first**
> Hyperliquid refuses to approve a trading key on an account with no money in it. If yours is empty, Hypertake says "Deposit to Hyperliquid first: a trading key can only be approved on a funded account." Deposit, then turn trading on.

## How to read a request before you confirm

Hyperliquid approvals are typed-data (EIP-712) signatures, so your wallet shows the fields. Check them against this list.

- **ApproveBuilderFee**: `maxFeeRate` is `1%` and `builder` is Hypertake's address, `0x0b8f0884e0816fee3fb297ad9707c46f1fc13d1d`.
- **ApproveAgent**: `agentAddress` is the new key, and `agentName` reads like `Hypertake w 7f3a valid_until 1807…` (`w` for a computer, `p` for a phone, then this browser's 4-character id and the expiry in milliseconds).
- **Withdraw**: `destination` is your own connected address, and `amount` is what you typed. Hyperliquid's $1 fee comes out of that amount.
- **Sign-in message**: A plain-text message beginning "hypertake.net wants you to sign in with your Ethereum account" and saying "Sign in to Hypertake for notifications about your positions. This doesn't send a transaction or cost anything."

> **Warning: If a request doesn't match, reject it**
> Hypertake never asks you to approve a token for more than the deposit you typed, to sign a transaction to a Hypertake contract (there isn't one), or to withdraw to an address that isn't yours. A request like that didn't come from Hypertake as described here.

## On a phone

With MetaMask over WalletConnect, each signature opens MetaMask; you confirm there, then switch back to Safari. Turning on trading opens MetaMask twice, once for each signature. The phone app tells you how many to expect before it asks: "You're signing two messages, not payments. No money moves and there's no gas."

- [The trading key](https://hypertake.net/docs/security/trading-key.md): How it's made, stored and turned off.
- [Turn on trading](https://hypertake.net/docs/money/turn-on-trading.md): The how-to, with what each screen shows.
