Skip to main content
POST /verify Use verification as a preflight before expensive work. It checks the decoded payment envelope against the original payment requirements without contacting 4Mica Core.

Request body

x402Version
number
1|2
If omitted, the facilitator resolves the version from paymentPayload.
paymentPayload
object
required
paymentPayload.x402Version
number
required
1|2
paymentPayload.scheme
string
paymentPayload.network
string
paymentPayload.payload.claims
object
required
paymentPayload.payload.claims.user_address
string
required
paymentPayload.payload.claims.recipient_address
string
required
paymentPayload.payload.claims.req_id
string
required
paymentPayload.payload.claims.amount
string
required
paymentPayload.payload.claims.asset_address
string
required
paymentPayload.payload.claims.timestamp
number
required
paymentPayload.payload.claims.version
number
required
1|2
paymentPayload.payload.signature
string
required
paymentPayload.payload.scheme
string
required
paymentRequirements
object
required
paymentRequirements.scheme
string
required
paymentRequirements.network
string
required
paymentRequirements.maxAmountRequired
string
paymentRequirements.amount
string
paymentRequirements.payTo
string
required
paymentRequirements.asset
string
required
paymentRequirements.extra
object

Responses

isValid
boolean
required
invalidReason
string
certificate
object
Verification does not issue a certificate.
curl -X POST "https://x402.4mica.xyz/verify" \
  -H "Content-Type: application/json" \
  -d '{
    "x402Version": 1,
    "paymentPayload": {
      "x402Version": 1,
      "scheme": "4mica-credit",
      "network": "eip155:84532",
      "payload": {
        "claims": {
          "user_address": "0x1111111111111111111111111111111111111111",
          "recipient_address": "0x2222222222222222222222222222222222222222",
          "req_id": "0x1",
          "amount": "0x186a0",
          "asset_address": "0x3333333333333333333333333333333333333333",
          "timestamp": 1782122400,
          "version": 1
        },
        "signature": "0xSignedPayment",
        "scheme": "eip712"
      }
    },
    "paymentRequirements": {
      "scheme": "4mica-credit",
      "network": "eip155:84532",
      "maxAmountRequired": "100000",
      "payTo": "0x2222222222222222222222222222222222222222",
      "asset": "0x3333333333333333333333333333333333333333"
    }
  }'
{ "isValid": true, "invalidReason": null, "certificate": null }

Status codes

CodeDescription
200Verification completed. Check isValid.
400The request body or payment envelope is malformed.
500The facilitator could not complete verification.
Call POST /settle when you are ready to accept the guarantee.