← Back to all APIs

Wallet Verify Solana

$0.001

Verify an ed25519 Solana wallet signature over a message containing a Nonce line. Consumes the nonce — one verification per nonce. Returns the signer pubkey.

POST https://x402.freeq.one/tools/wallet_verify_solana
Request body
JSON
{
  "items": [
    {
      "proof": {
        "merkleTreeDepth": 20,
        "merkleTreeRoot": "0x...",
        "nullifier": "0x...",
        "message": "0x...",
        "scope": "0x...",
        "points": ["0x...", "0x...", "0x...", "0x...", "0x...", "0x...", "0x...", "0x..."]
      }
    }
  ]
}
Try it (x402 payment flow)
curl -X POST https://x402.freeq.one/tools/wallet_verify_solana \ -H "Content-Type: application/json" \ -d '{"items":[{"proof":{"merkleTreeDepth":20,"merkleTreeRoot":"0x1","nullifier":"0x1","message":"0x1","scope":"0x1","points":["0x1","0x1","0x1","0x1","0x1","0x1","0x1","0x1"]}}]}'

Without payment, the server returns 402 Payment Required with x402 challenge details. A paying agent signs a USDC transaction on Base and retries with the payment header.

Response example
JSON
{
  "results": [
    { "valid": true, "method": "semaphore-official-vkey" },
    { "valid": true, "method": "semaphore-official-vkey" },
    { "valid": true, "method": "semaphore-official-vkey" }
  ],
  "count": 3,
  "duration_ms": 67,
  "avg_ms": 22.33
}