Choose Your Network
https://mcp-devnet.getaether.xyz/mcp
Free SOL airdrops
Safe for experimentation
18 tools available
https://mcp.getaether.xyz/mcp
Real SOL, USDC, ATHR
32 tools (includes marketplace)
Requires funded wallet
Quick Start Flow
One-Step Setup (All Networks)
wallet_create is the only tool you need to get started. It handles wallet generation, encryption, authentication, and funding (devnet airdrop) in a single call.
Create a Wallet
{
"tool" : "wallet_create" ,
"params" : {
"airdropSol" : 1
}
}
This single call:
Generates a new Solana keypair
Encrypts and stores it (persisted across sessions)
Auto-authenticates (creates session + JWT token)
Airdrops SOL (devnet/testnet only)
Response: {
"success" : true ,
"data" : {
"address" : "8FE27iak4b2yadKoogAPAGN9VnmYYZm8eUF71QhVbgNr" ,
"network" : "devnet" ,
"balances" : { "sol" : 1.0 , "usdc" : 0 , "athr" : 0 },
"sessionToken" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." ,
"authenticated" : true
}
}
Check Your Balance
{
"tool" : "wallet_get_balance"
}
Make a Transfer
{
"tool" : "wallet_transfer" ,
"params" : {
"to" : "RECIPIENT_ADDRESS" ,
"amount" : 0.5 ,
"token" : "sol"
}
}
Production Mode (External Wallet)
For mainnet with your own wallet (Phantom, Solflare, etc.), use the signature authentication flow:
Get Authentication Challenge
{
"tool" : "session_auth" ,
"params" : {
"walletAddress" : "YOUR_WALLET_ADDRESS"
}
}
Returns a challenge message to sign with your wallet.
Sign the Challenge
Use your wallet (Phantom, Solflare, CLI, etc.) to sign the message.
Submit Signature
{
"tool" : "wallet_connect" ,
"params" : {
"walletAddress" : "YOUR_WALLET_ADDRESS" ,
"nonce" : "CHALLENGE_NONCE" ,
"signature" : "BASE64_SIGNATURE"
}
}
Returns a JWT session token. You’re authenticated!
wallet_connect is mainnet-only . On devnet, use wallet_create which handles everything automatically.
Example: Complete Dev Flow
// 1. Create wallet (generates + authenticates + airdrops in one call)
const wallet = await mcp . call ( 'wallet_create' , {
airdropSol: 1 ,
label: 'my-test-wallet'
});
console . log ( 'Wallet:' , wallet . data . address );
console . log ( 'Token:' , wallet . data . sessionToken );
// 2. Check balance
const balance = await mcp . call ( 'wallet_get_balance' );
console . log ( 'SOL:' , balance . data . balances . sol );
console . log ( 'USDC:' , balance . data . balances . usdc );
// 3. Transfer tokens
const transfer = await mcp . call ( 'wallet_transfer' , {
to: 'RECIPIENT_ADDRESS' ,
amount: 0.5 ,
token: 'sol'
});
console . log ( 'Transaction:' , transfer . data . signature );
// 4. Create a payment header (x402)
const payment = await mcp . call ( 'payment_create' , {
to: 'MERCHANT_ADDRESS' ,
amount: 10 ,
token: 'usdc'
});
console . log ( 'Payment Header:' , payment . data . paymentHeader );
Example: Production Flow
For mainnet with your own wallet:
// 1. Get challenge
const challenge = await mcp . call ( 'session_auth' , {
walletAddress: 'YOUR_WALLET'
});
// 2. Sign challenge with your wallet
// (Use Phantom, Solflare, or Solana CLI)
const signature = await wallet . signMessage ( challenge . data . message );
// 3. Authenticate
const auth = await mcp . call ( 'wallet_connect' , {
walletAddress: 'YOUR_WALLET' ,
nonce: challenge . data . nonce ,
signature: signature
});
// Store the session token for future requests
const sessionToken = auth . data . sessionToken ;
// 4. Now use any authenticated tool
const balance = await mcp . call ( 'wallet_get_balance' );
MCP Client Examples
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers" : {
"aether-devnet" : {
"url" : "https://mcp-devnet.getaether.xyz/mcp"
}
}
}
Cursor
Open Settings > MCP
Add new server:
Name : Aether Devnet
URL : https://mcp-devnet.getaether.xyz/mcp
Click “Test Connection”
Continue
Add to .continue/config.json:
{
"mcpServers" : [
{
"name" : "aether-devnet" ,
"url" : "https://mcp-devnet.getaether.xyz/mcp"
}
]
}
Common Operations
{ "tool" : "wallet_get_balance" }
{
"tool" : "wallet_transfer" ,
"params" : {
"to" : "RECIPIENT_ADDRESS" ,
"amount" : 0.5 ,
"token" : "sol"
}
}
{
"tool" : "payment_create" ,
"params" : {
"to" : "MERCHANT_ADDRESS" ,
"amount" : 10 ,
"token" : "usdc" ,
"validFor" : 3600
}
}
Restore a Previous Wallet
{
"tool" : "wallet_create" ,
"params" : {
"restoreAddress" : "YOUR_PREVIOUS_WALLET_ADDRESS"
}
}
Next Steps
Troubleshooting
Check your network connection
Verify the endpoint URL is correct
Ensure your MCP client supports HTTP transport
Verify you signed the exact challenge message
Check signature format (should be base64)
Ensure wallet address matches the one used for challenge
On devnet: Use wallet_create with airdropSol parameter
On mainnet: Fund your wallet with SOL/USDC