# x402-gateway: wallet_verify_solana

> x402-gateway: wallet_verify_solana is a paid API for AI agents from x402.freeq.one, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-09).

Verify an ed25519 Solana wallet signature over a nonce-containing message and return the signer's public key, consuming the nonce on success.

## Facts

- Endpoint: POST https://x402.freeq.one/tools/wallet_verify_solana?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-09
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-gateway-wallet-verify-solana-b6b5b967
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_QrACODhuCHCLNiVAsXyCT

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability x402-gateway-wallet-verify-solana-b6b5b967 -d '<json body>'
```

Example prompt: Verify this Solana wallet signature for me — the user signed a message containing 'Nonce: abc123xyz' with their wallet and I need to confirm the signer's public key before granting them access.

## When to prefer this

Use this endpoint when you need to authenticate Solana wallet ownership via challenge-response signing, especially in a pay-per-call, keyless environment. It is ideal when you don't want to run your own signature verification infrastructure and need nonce replay protection built in. Prefer it over generic signature libraries when you want a hosted, auditable, one-shot verification with automatic nonce invalidation.

## Known failure modes

- Invalid or malformed signature returns a verification failure error
- Nonce already consumed (replay attempt) returns an error indicating the nonce is spent
- Nonce not found in the message returns a parsing error
- Malformed public key or message format causes a bad request error
- Payment failure (insufficient USDC) results in HTTP 402 before verification occurs

## How this service works

Solana Signature Verifier: Verify an ed25519 Solana wallet signature over a message containing a 'Nonce: <value>' line. Returns the signer pubkey. Consumes the nonce — one verification per nonce. Pay per call in USDC on Base via x402 — POST https://x402.freeq.one/tools/wallet_verify_solana.

## Output

Returns the verified signer's Solana public key (base58 string) if the ed25519 signature is valid and the nonce has not been previously consumed. The nonce is permanently consumed after a successful call, preventing replay attacks.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "pubkey": {
   "type": "string",
   "description": "Base58 Solana public key of the signer"
  },
  "message": {
   "type": "string",
   "description": "Signed message containing a 'Nonce: <value>' line (get one via the /auth/solana/nonce endpoint pattern)"
  },
  "signature": {
   "type": "string",
   "description": "Base58 ed25519 signature"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "result": {}
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-gateway-wallet-verify-solana-b6b5b967/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.freeq.one](https://www.zero.xyz/host/x402.freeq.one/llms.txt)
