Create Wallet
curl -X POST https://api.karen.dev/api/v1/wallets \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "my-agent-wallet"}'
name
string
default:"external-wallet"
Optional human-readable name for the wallet
Unique identifier for the wallet
Solana public key (base58 encoded)
ISO 8601 timestamp of wallet creation
List Wallets
curl https://api.karen.dev/api/v1/wallets \
-H "Authorization: Bearer YOUR_API_KEY"
Array of wallet objects with id, name, publicKey, createdAt, and tags
Get Balance
curl https://api.karen.dev/api/v1/wallets/WALLET_ID/balance \
-H "Authorization: Bearer YOUR_API_KEY"
Array of SPL token balancesShow Token balance object
Token symbol (if available)
Raw balance (smallest unit)
Transfer SOL
curl -X POST https://api.karen.dev/api/v1/wallets/WALLET_ID/transfer \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "RECIPIENT_ADDRESS",
"amount": 0.5
}'
Recipient’s Solana address
Amount in SOL to transfer
Solana transaction signature
Transaction status: pending, confirmed, failed, or blocked
Swap Tokens
curl -X POST https://api.karen.dev/api/v1/wallets/WALLET_ID/swap \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"inputToken": "So11111111111111111111111111111111111111112",
"outputToken": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": 1.0,
"slippageBps": 50
}'
Output token mint address
Slippage tolerance in basis points (50 = 0.5%)
Amount of input tokens used
Amount of output tokens received
Request Airdrop
Only available on devnet/testnet for testing purposes
curl -X POST https://api.karen.dev/api/v1/wallets/WALLET_ID/airdrop \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"amount": 1}'
SOL amount to airdrop (max 2 SOL)
Launch Token
curl -X POST https://api.karen.dev/api/v1/wallets/WALLET_ID/launch-token \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "My Token",
"symbol": "MTK",
"decimals": 9,
"initialSupply": 1000000
}'
Mint Additional Supply
curl -X POST https://api.karen.dev/api/v1/wallets/WALLET_ID/mint-supply \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"mint": "TOKEN_MINT_ADDRESS",
"amount": 50000,
"decimals": 9
}'
Revoke Authority
curl -X POST https://api.karen.dev/api/v1/wallets/WALLET_ID/revoke-authority \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"mint": "TOKEN_MINT_ADDRESS",
"authorityType": "mint"
}'
Authority type to revoke: “mint” or “freeze”
Authority type that was revoked
Confirmation that authority was revoked
Stake SOL
curl -X POST https://api.karen.dev/api/v1/wallets/WALLET_ID/stake \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 5.0,
"validator": "VALIDATOR_ADDRESS"
}'
Optional validator address (uses default if not specified)
Created stake account address
Unstake SOL
curl -X POST https://api.karen.dev/api/v1/wallets/WALLET_ID/unstake \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"stakeAccount": "STAKE_ACCOUNT_ADDRESS"}'
Stake account address to deactivate
Confirmation that stake was deactivated
Withdraw Stake
curl -X POST https://api.karen.dev/api/v1/wallets/WALLET_ID/withdraw-stake \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"stakeAccount": "STAKE_ACCOUNT_ADDRESS"}'
Stake account address to withdraw from
Confirmation that stake was withdrawn
List Stake Accounts
curl https://api.karen.dev/api/v1/wallets/WALLET_ID/stakes \
-H "Authorization: Bearer YOUR_API_KEY"
Array of stake account objects with address, balance, and state
Burn Tokens
curl -X POST https://api.karen.dev/api/v1/wallets/WALLET_ID/burn \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"mint": "TOKEN_MINT_ADDRESS",
"amount": 1000
}'
Close Token Account
curl -X POST https://api.karen.dev/api/v1/wallets/WALLET_ID/close-account \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"mint": "TOKEN_MINT_ADDRESS"}'
Token mint address for account to close
Wrap SOL
curl -X POST https://api.karen.dev/api/v1/wallets/WALLET_ID/wrap-sol \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"amount": 1.0}'
Amount of SOL to wrap into wSOL
Unwrap SOL
curl -X POST https://api.karen.dev/api/v1/wallets/WALLET_ID/unwrap-sol \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"