Guides
Examples

Examples

Production-ready examples covering every major Veridex SDK feature — from basic wallet creation to full-stack multisig wallets and DeFi integrations.

All examples live in the public Veridex Examples Repository (opens in a new tab). Clone it and start building in minutes.

git clone https://github.com/Veridex-Protocol/examples.git
cd examples
npm install

Basic Examples

Learn the SDK fundamentals step-by-step.

ExampleWhat you'll learnRun command
Create WalletPasskey registration, vault address derivationnpm run basic:wallet
Get BalancesMulti-chain balance queriesnpm run basic:balances
Send TokensPrepare and execute transfers, spending limitsnpm run basic:send
Cross-Chain BridgeBridge tokens between chains via Wormholenpm run basic:crosschain
Gasless TransactionsRelayer-sponsored transfers, vault creationnpm run basic:gasless

Quick taste — Create a wallet

import { createSDK } from '@veridex/sdk';
 
const sdk = createSDK('base');
await sdk.passkey.register('user@example.com', 'My Wallet');
 
const vaultAddress = sdk.getVaultAddress(); // Same on every EVM chain
console.log('Vault:', vaultAddress);

Session Key Examples

Session keys let users approve once and execute many transactions without repeated biometric prompts — essential for gaming, trading, and automation.

ExampleWhat you'll learnRun command
Create SessionSessionManager setup, session creation, status checksnpm run session:create
Execute BatchSign multiple actions with signAction, nonce managementnpm run session:execute
Revoke SessionLoad, verify, and revoke sessionsnpm run session:revoke

Quick taste — Create and use a session

import { createSDK, SessionManager, EVMHubClientAdapter } from '@veridex/sdk';
import { Wallet, JsonRpcProvider, parseEther, getBytes } from 'ethers';
 
const sdk = createSDK('base');
const provider = new JsonRpcProvider('https://sepolia.base.org');
const signer = new Wallet(PRIVATE_KEY, provider);
 
const credential = sdk.getCredential();
const hubClient = new EVMHubClientAdapter(
  sdk.getChainClient() as any, signer as any
);
 
const sessionManager = new SessionManager(
  credential,
  hubClient,
  (challenge) => sdk.passkey.sign(challenge),
  { duration: 3600, maxValue: parseEther('0.1') },
);
 
// One passkey prompt
const session = await sessionManager.createSession();
 
// Then sign unlimited actions within bounds — no prompts!
await sessionManager.signAction({
  action: 'transfer',
  targetChain: sdk.getChainConfig().wormholeChainId,
  payload: getBytes(encodedData),
  nonce: Number(await sdk.getNonce()),
  value: parseEther('0.01'),
});

Advanced Examples

Deep-dive into cross-chain security and session lifecycle management.

ExampleWhat you'll learnRun command
VAA VerificationParse Wormhole VAAs, verify Guardian quorum, validate emittersnpm run advanced:vaa
Session LifecycleFull create → use → refresh → revoke flownpm run advanced:session

VAA verification highlights

import { parseVAA, hasQuorum, normalizeEmitterAddress } from '@veridex/sdk';
 
const vaa = parseVAA(vaaBase64);
 
// Verify Guardian quorum (13/19 required)
const valid = hasQuorum(vaa, true); // true = testnet
 
// Verify emitter matches your Hub contract
const emitter = normalizeEmitterAddress(vaa.emitterAddress);
const hub = normalizeEmitterAddress(hubContractAddress);
console.log('Emitter match:', emitter === hub);

Integration Examples

Full-stack patterns for real-world use cases.


Running Examples

⚠️

WebAuthn/Passkey functionality requires a browser environment with HTTPS. When running examples in Node.js, passkey registration will fail — but you can see the full API usage patterns and error handling flows.

Environment setup

Create a .env file in the examples root:

# Optional: Custom RPC URLs
BASE_RPC_URL=https://sepolia.base.org
OPTIMISM_RPC_URL=https://sepolia.optimism.io

# Optional: Relayer for gasless transactions
RELAYER_URL=https://relayer.veridex.network
RELAYER_API_KEY=your-api-key

# For examples that require gas payment
PRIVATE_KEY=your_deployer_key_here

Supported chains

ChainTypeWormhole ID
BaseHub (EVM)10004
OptimismSpoke (EVM)10005
ArbitrumSpoke (EVM)10003
EthereumSpoke (EVM)10002
SolanaSpoke1
AptosSpoke22
SuiSpoke21

Next Steps