Hyperliquid
USDC on HyperEVM by signed authorization; the operator pays the gas.
What runs on Hyperliquid
- Settles on HyperEVM, Hyperliquid's EVM chain. Text "on hyperliquid" or "on hyperevm" to pick it.
- Payments move test USDC with EIP-3009 transferWithAuthorization. The sender's wallet signs the transfer and the operator's treasury submits it and pays the gas, so no Dial wallet ever holds a gas token.
- The authorization nonce is keccak256 of the payment id, so every transfer on-chain maps back to one payment on the ledger.
- Money for someone not on Dial yet waits in a wallet the operator holds on this chain and moves out by the same signed transfer.
- Pay pages (/@handle) give an EIP-681 link with the token and chain id, so any EVM wallet opens a filled-in transfer.
- Text "price BTC" or "price HYPE" for the current mid from Hyperliquid's public info API (mainnet market data). A quote, not advice. Agents get the same from the get_price MCP tool.
- No public explorer shows HyperEVM testnet transactions today, so receipts link Dial's own receipt page, which shows the transaction hash.
Try it
Test money only. Hyperliquid is switched on here, so this settles on HyperEVM testnet.
Text it
1 · Text hi and reply with a name. That's the signup.
Text hisend @handle $1 on hyperliquidOn a laptop? Scan to open it on your phone
Swap @handle for anyone on Dial, or for a phone number. The operator texts back a 6-digit code; reply with it, and the receipt links the transaction. Your first payment on Hyperliquid opens a wallet there with a small drop of test money.
Watch it settle
No payment on HyperEVM testnet yet.
The newest payment on HyperEVM testnet, from the ledger. Checks again every 30 seconds.
From an agent
send_payment {"to":"@handle","amountUsd":"1","chain":"hyperevm"}The tool returns awaiting_approval, and the person who pays approves it by text. Setup is on /agents.
ethereum:0x2B3370eE501B4a559b57D449569354196457D8Ab@998/transfer?address=<wallet>&uint256=1000000Every pay page (/@handle) shows this link with the person's own address in place of <wallet>.
On the ledger
Read from the ledger on every visit. A chain is marked Live only once a payment has settled on it.
Recent payments · HyperEVM testnet
Nothing has settled on HyperEVM testnet yet.
Check it on-chain
Shown without links: no public explorer serves HyperEVM testnet pages right now.
The treasury funds new wallets and pays every fee.
Code
- EVM adapter
src/lib/settlement/evm.ts - EVM adapter tests
tests/settlement/evm.test.ts - Tests on a local chain
tests/settlement/evm.anvil.test.ts - Chain registry
src/lib/settlement/registry.ts - Pay links
src/lib/pay-links.ts - Hyperliquid info API
src/lib/settlement/hypercore.ts