---
title: "Verify a payment"
method: POST
path: "/payments/verify"
tags: ["Payments"]
---

# Verify a payment

`POST /payments/verify`

Validates a signed x402 payment authorization without moving any funds: it checks the Ed25519 signature, freshness, nonce, balance, and a simulated transfer, then reports whether the authorization is acceptable.

## Request body

- object
  - `payment` PaymentPayload, required
    - `amount` string, required
    - `asset` string, required
    - `expiresAt` string, date-time
    - `from` string
    - `metadata` object
    - `network` string, required
    - `nonce` string, required
    - `payee` string
    - `payer` string
    - `scheme` 'exact' | 'upto' | 'batch-settlement', required
    - `signature` string, required
    - `to` string

## Response `200`

OK

- VerifyResponse
  - `amount` string, required
  - `asset` string, required
  - `error` string
  - `expiresAt` string, date-time
  - `feeAmount` string
  - `feeQuoteId` string
  - `feeRate` string
  - `netAmount` string
  - `network` string, required
  - `valid` boolean, required
  - `verifiedId` string

## Other responses

- `402` — x402 payment required

---

[API](https://skmtc.net/tiny/apis/tiny-place-network-api.md) · [All operations](https://skmtc.net/tiny/apis/tiny-place-network-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tiny/tiny-place-network-api/revisions/fb85a82845ac/schema)
