Skip to main content
POST
/
verify
cURL
curl --request POST \
  --url https://asdo.algen.network/verify \
  --header 'Content-Type: application/json' \
  --data '
{
  "x402Version": 1,
  "paymentPayload": {
    "x402Version": 1,
    "scheme": "exact",
    "network": "mesherX",
    "payload": {
      "signature": "0xf3746613c2d920b5fdabc0856f2aeb2d4f88ee6037b8cc5d04a71a4462f13480",
      "authorization": {
        "from": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
        "to": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
        "value": "1000000000000000000",
        "validAfter": "1716150000",
        "validBefore": "1716150000",
        "nonce": "0x1234567890abcdef1234567890abcdef12345678"
      }
    }
  },
  "paymentRequirements": {
    "scheme": "exact",
    "network": "mesherX",
    "maxAmountRequired": "1000000",
    "resource": "[https://api.example.com/premium/resource/123](https://api.example.com/premium/resource/123)",
    "description": "Premium API access for data analysis",
    "mimeType": "application/json",
    "outputSchema": {
      "data": "string"
    },
    "payTo": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
    "maxTimeoutSeconds": 10,
    "asset": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
    "extra": {
      "gasLimit": "1000000"
    }
  }
}
'
{
  "isValid": false,
  "invalidReason": "insufficient_funds",
  "payer": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
}

Body

application/json
x402Version
enum<integer>
required

The version of the x402 protocol.

Available options:
1
Example:

1

paymentPayload
object
required

The x402 protocol payment payload attached to X-PAYMENT header.

Example:
{
"x402Version": 1,
"scheme": "exact",
"network": "mesherX",
"payload": {
"signature": "0xf3746613c2d920b5fdabc0856f2aeb2d4f88ee6037b8cc5d04a71a4462f13480",
"authorization": {
"from": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"to": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"value": "1000000000000000000",
"validAfter": "1716150000",
"validBefore": "1716150000",
"nonce": "0x1234567890abcdef1234567890abcdef12345678"
}
}
}
paymentRequirements
object
required

The payment requirements expected by the resource server.

Response

200 - application/json

Successfully verified payment on the x402 protocol.

isValid
boolean
required

Indicates whether the payment is valid.

Example:

false

payer
string
required

The onchain address of the client that is paying for the resource.

Example:

"0x742d35Cc6634C0532925a3b844Bc454e4438f44e"

invalidReason
enum<string>

The reason the payment is invalid on the x402 protocol.

Available options:
insufficient_funds,
invalid_scheme,
invalid_network,
invalid_x402_version,
invalid_payment_requirements,
invalid_payload,
invalid_exact_evm_payload_authorization_value,
invalid_exact_evm_payload_authorization_value_too_low,
invalid_exact_evm_payload_authorization_valid_after,
invalid_exact_evm_payload_authorization_valid_before,
invalid_exact_evm_payload_authorization_typed_data_message,
invalid_exact_evm_payload_authorization_from_address_kyt,
invalid_exact_evm_payload_authorization_to_address_kyt,
invalid_exact_evm_payload_signature,
invalid_exact_evm_payload_signature_address,
invalid_exact_svm_payload_transaction,
invalid_exact_svm_payload_transaction_amount_mismatch,
invalid_exact_svm_payload_transaction_create_ata_instruction,
invalid_exact_svm_payload_transaction_create_ata_instruction_incorrect_payee,
invalid_exact_svm_payload_transaction_create_ata_instruction_incorrect_asset,
invalid_exact_svm_payload_transaction_instructions,
invalid_exact_svm_payload_transaction_instructions_length,
invalid_exact_svm_payload_transaction_instructions_compute_limit_instruction,
invalid_exact_svm_payload_transaction_instructions_compute_price_instruction,
invalid_exact_svm_payload_transaction_instructions_compute_price_instruction_too_high,
invalid_exact_svm_payload_transaction_instruction_not_spl_token_transfer_checked,
invalid_exact_svm_payload_transaction_instruction_not_token_2022_transfer_checked,
invalid_exact_svm_payload_transaction_not_a_transfer_instruction,
invalid_exact_svm_payload_transaction_cannot_derive_receiver_ata,
invalid_exact_svm_payload_transaction_receiver_ata_not_found,
invalid_exact_svm_payload_transaction_sender_ata_not_found,
invalid_exact_svm_payload_transaction_simulation_failed,
invalid_exact_svm_payload_transaction_transfer_to_incorrect_ata,
invalid_exact_svm_payload_transaction_fee_payer_included_in_instruction_accounts,
invalid_exact_svm_payload_transaction_fee_payer_transferring_funds
Example:

"insufficient_funds"