Agent skill for integrating and debugging the Verify.et transaction verification API
SaferSkills independently audited verify-et-api (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This portable skill applies to backend integrations in Node.js, Python, PHP, Go, Java, Ruby, .NET, Rust, and mobile apps that proxy through a trusted backend.
references/api-endpoints.md for auth, endpoints, payloads, responses, permissions, and status flow.references/bank-specs.md for explicit bank payloads and universal-router disambiguators.references/error-codes.md for HTTP failures, verification error codes, retry decisions, credits, quotas, and idempotency conflicts.patterns/integration-methods.md for choosing sync, queued, webhook, polling, or SSE flows.patterns/webhooks.md for receiver security, signatures, retries, payloads, and test-webhook debugging.debugging/common-mistakes.md for production anti-patterns.debugging/production-checklist.md for pre-launch validation.POST /api/verify is called, how 202 is handled, whether duplicate submissions are possible, and whether Verify.et calls run server-side.fetch calls.Idempotency-Key for payment and checkout attempts, and persist the returned Verify.et requestId.200 as an inline terminal response and 202 as queued work. For 202, store requestId, then poll GET /api/verify/:requestId, open SSE for interactive UIs, or rely on webhooks for server-to-server fulfillment.confirmationHistory.confirmedBefore === true as a repeat-confirmation signal. Do not fulfill blindly without applying the product's duplicate-payment policy.POST /api/verify?waitMs=... only as a best-effort convenience. Production workflows must still work when Verify.et returns 202.bank payloads when the product already knows the provider. Use universal reference payloads when the UI accepts mixed receipts or links.Before diagnosing, capture:
x-request-id, Retry-After, and X-Verify-Cache.requestId, processingStatus, status, error.code, and error.retryable.Idempotency-Key.x-api-key values in frontend, mobile app, logs, screenshots, or committed files.requestId and/or delivery ID.Retry-After for rate limits and temporary unavailability.requestId, bank, status, and error code; omit API keys, cookies, and full authorization headers.Use the current public docs when internet access is available:
https://verify.et/docs/get-startedhttps://verify.et/docs/apihttps://verify.et/docs/sdkIf working inside the Verify.et repository, prefer implementation source over stale docs. Relevant source paths are listed in references/api-endpoints.md.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.