{"uid":"cap_dTgNMPBalYTVj_90DmJZW","slug":"solana-ed25519-signature-verifier-34caac30","name":"Solana Ed25519 Signature Verifier","description":"Verify an Ed25519 Solana signature (Phantom/Solflare signMessage) for a message and public key; signature in base58, base64 or hex. Local computation.","url":"https://api.vextorium.com/verificar-firma-solana-pago?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"firma":{"type":"string"},"mensaje":{"type":"string"},"clave_publica":{"type":"string"}}},"responseSchema":{"type":"json","example":{"valida":true,"algoritmo":"Ed25519","direccion":"CGoFePajwf11M2VpQjp17p1bLGZ5BrTM2yFJxnFHZTDe","bytes_mensaje":15}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.003","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.003/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Kgml2KpQp7-BqtYLGkrFR","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.003","costPer":"request","priority":0,"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Verifies Ed25519 signatures (from Phantom/Solflare signMessage) against a message and Solana public key, locally without any chain call.","exampleAgentPrompt":"Can you verify that this Solana signature is valid? The message is 'authorize login', the signer's public key is CGoFePajwf11M2VpQjp17p1bLGZ5BrTM2yFJxnFHZTDe, and the base58 signature is 3vZ8qF... — confirm it's a genuine Ed25519 signMessage from Phantom.","exampleUseCases":[{"title":"Wallet-based login authentication","prompt":"A user just signed the nonce 'login-1234567890' with their Phantom wallet. Their public key is BhFCED1H5V2bBo2rAQ1udksTFqRKNBdRmzUBAfBWf8uj and the signature they returned is in base64. Can you verify this signature is valid so I can log them in?"},{"title":"Verify payment authorization signature","prompt":"Before processing this Solana payment, I need to confirm the payer actually signed the authorization message. The message is 'approve payment $50', the public key is 7xLk17LYgQ1JiG7bYZF5eKNtxVFnXgV5MG8yS1YXZEX, and the hex-encoded signature is a3f9b2... — is it a valid Ed25519 signature?"},{"title":"Smart contract interaction proof","prompt":"I received a signed message from a dApp user claiming to own a specific NFT. Their message is 'I own NFT #42', the Solana address is DRpbCBMxVnDK7maPdrCkH5jJT3B2xt7X7p6R8FqNfXjH, and the Solflare signature is in base58. Please validate that the signature matches so I can grant them access."}],"resultDescription":"Returns a JSON object with: 'valida' (boolean indicating whether the signature is valid), 'algoritmo' (always 'Ed25519'), 'direccion' (the Solana address derived from the public key), and 'bytes_mensaje' (byte length of the message). All computation is local — no RPC or chain call is made.","failureModes":["Invalid or malformed public key returns an error or valida=false","Signature encoding not recognized (not valid base58/base64/hex) causes parsing failure","Message mismatch (signed content differs from provided message) returns valida=false","Empty or missing required fields (mensaje, firma, clave_publica) returns a 400-level error","Signature length incorrect for Ed25519 causes verification failure"],"whenToPreferThis":"Choose this endpoint when you need to cryptographically verify that a Solana wallet (Phantom, Solflare, or any Ed25519-based signer) signed a specific message, without making any on-chain RPC call. It accepts base58, base64, or hex signatures, making it flexible for most wallet integrations. Prefer it over on-chain verification approaches when you want low latency, no RPC dependency, and a simple REST call for auth flows, payment authorization proofs, or gated-access verification.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-20T18:57:13.195Z","isFirstParty":false,"canonicalSlug":"solana-ed25519-signature-verifier-34caac30"}