ワンクリックで
gdex-wallet-setup
Generate EVM control wallets offline, create session keypairs, get wallet info — first step for users without wallets
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Generate EVM control wallets offline, create session keypairs, get wallet info — first step for users without wallets
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
HyperLiquid perpetual futures — open/close positions, set leverage, place market and limit orders with TP/SL, and manage open orders
CSS theming system for GDEX trading UIs — dark/light modes, trading colors, responsive breakpoints, and Tailwind CSS configuration
Troubleshoot GDEX SDK errors — error codes, encryption debugging, chain-specific quirks, HL gotchas, and copy trade pitfalls
Start here — GDEX overview, architecture, supported chains, available skills, and quickstart for cross-chain DeFi trading via managed-custody wallets
HyperLiquid HIP-3 outcome / event markets — list markets, place outcome orders, and manage outcome positions
Deposit and withdraw USDC to/from HyperLiquid for perpetual futures trading — constraints, amounts, and managed-custody flow
| name | gdex-wallet-setup |
| description | Generate EVM control wallets offline, create session keypairs, get wallet info — first step for users without wallets |
Generate EVM control wallets for new users and session keypairs for managed-custody trading. Wallet generation is fully offline — no network or auth required.
npm install @gdexsdk/gdex-skill
No authentication needed for wallet generation.
import { generateEvmWallet } from '@gdexsdk/gdex-skill';
const wallet = generateEvmWallet();
console.log('Address:', wallet.address); // public — safe to display
console.log('Private Key:', wallet.privateKey); // SECRET — store securely
console.log('Mnemonic:', wallet.mnemonic); // SECRET — 12-word backup phrase
// wallet.type → 'evm'
// wallet.derivationPath → "m/44'/60'/0'/0/0"
Important:
Session keypairs (secp256k1) are used to sign trades after the initial control-wallet sign-in:
import { generateGdexSessionKeyPair } from '@gdexsdk/gdex-skill';
const { sessionPrivateKey, sessionKey } = generateGdexSessionKeyPair();
// sessionPrivateKey: hex string (store securely, reuse across requests)
// sessionKey: compressed public key (0x + 66 hex chars)
Query native balance and token count on a specific chain (requires auth):
import { GdexSkill, GDEX_API_KEY_PRIMARY } from '@gdexsdk/gdex-skill';
const skill = new GdexSkill();
skill.loginWithApiKey(GDEX_API_KEY_PRIMARY);
const info = await skill.getWalletInfo({
walletAddress: '0xYourAddress',
chain: 1, // Ethereum
});
interface WalletInfo {
address: string;
chain: string | number;
nativeBalance: string;
nativeSymbol: string; // 'ETH', 'SOL', 'SUI', etc.
totalValueUsd?: number;
tokenCount?: number;
}
import {
generateEvmWallet,
generateGdexSessionKeyPair,
buildGdexSignInMessage,
buildGdexSignInComputedData,
GdexSkill,
GDEX_API_KEY_PRIMARY,
} from '@gdexsdk/gdex-skill';
// Step 1: Generate a control wallet (offline)
const wallet = generateEvmWallet();
console.log('Your new wallet address:', wallet.address);
// ⚠️ Tell user to save privateKey and mnemonic securely!
// Step 2: Generate session keypair
const { sessionPrivateKey, sessionKey } = generateGdexSessionKeyPair();
// Step 3: Initialize SDK
const skill = new GdexSkill();
skill.loginWithApiKey(GDEX_API_KEY_PRIMARY);
// Step 4: Build sign-in message and sign with the new wallet
const userId = wallet.address;
const nonce = String(Math.floor(Date.now() / 1000) + Math.floor(Math.random() * 1000));
const message = buildGdexSignInMessage(userId, nonce, sessionKey);
// For a generated wallet, sign directly with ethers:
import { ethers } from 'ethers';
const signer = new ethers.Wallet(wallet.privateKey);
const signature = await signer.signMessage(message);
// Step 5: Sign in via managed custody
const signInPayload = buildGdexSignInComputedData({
apiKey: GDEX_API_KEY_PRIMARY,
userId,
sessionKey,
nonce,
signature,
});
await skill.signInWithComputedData({
computedData: signInPayload.computedData,
chainId: 1, // EVM
});
// ✅ User is now authenticated and can trade
// The backend has provisioned Solana + other chain wallets automatically
generateEvmWallet() works fully offline (E2E verified). No network calls needed. Returns { address, privateKey, mnemonic, type, derivationPath }.generateGdexSessionKeyPair() — it's used for signing trades, not wallet derivation.