For the complete documentation index, see llms.txt. This page is also available as Markdown.

X402

Accept x402 agent payments

Build x402 payment requirements

post
/api/v1/x402/requirements

Build the payment requirements to return to a paying agent.

Body
chainstring · enumRequiredExample: basePossible values:
assetstring · enumRequired

Friendly symbol; resolved to the contract/mint

Example: USDCPossible values:
amountstringRequired

Human units; converted to atomic maxAmountRequired

Example: 0.10
payTostringOptional

Destination address. Defaults to your deposit address for the chain when omitted.

Example: 0x9f1c4a2b7De3a01F5b8c2D4e6A7b9C0d1E2f3A4b
resourcestring · max: 500Optional

The protected resource URL

Example: https://api.example.com/premium
descriptionstring · max: 255OptionalExample: Premium API call
mimeTypestring · max: 255OptionalExample: application/json
maxTimeoutSecondsnumberOptionalExample: 60
Responses
201Success
application/json
successbooleanRequiredExample: true
messagestringRequiredExample: Payment requirements generated
post/api/v1/x402/requirements
POST /api/v1/x402/requirements HTTP/1.1
Host: api.coincircuit.io
Content-Type: application/json
Accept: */*
Content-Length: 231

{
  "chain": "base",
  "asset": "USDC",
  "amount": "0.10",
  "payTo": "0x9f1c4a2b7De3a01F5b8c2D4e6A7b9C0d1E2f3A4b",
  "resource": "https://api.example.com/premium",
  "description": "Premium API call",
  "mimeType": "application/json",
  "maxTimeoutSeconds": 60
}
{
  "success": true,
  "message": "Payment requirements generated",
  "data": {
    "x402Version": 1,
    "chain": "base",
    "asset": "USDC",
    "amount": "0.10",
    "accepts": [
      {
        "scheme": "exact",
        "network": "eip155:8453",
        "maxAmountRequired": "100000",
        "resource": "https://api.example.com/premium",
        "description": "Premium API call",
        "mimeType": "application/json",
        "payTo": "0x9f1c4a2b7De3a01F5b8c2D4e6A7b9C0d1E2f3A4b",
        "maxTimeoutSeconds": 60,
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        }
      }
    ]
  }
}

Verify an x402 payment

post
/api/v1/x402/verify

Validate a signed payment against its requirements without settling.

Body
x402VersionnumberRequiredExample: 1
Responses
201Success
application/json
successbooleanRequiredExample: true
messagestringRequiredExample: Verification complete
post/api/v1/x402/verify
POST /api/v1/x402/verify HTTP/1.1
Host: api.coincircuit.io
Content-Type: application/json
Accept: */*
Content-Length: 665

{
  "x402Version": 1,
  "paymentPayload": {
    "x402Version": 1,
    "scheme": "exact",
    "network": "eip155:8453",
    "payload": {
      "signature": "text",
      "authorization": {
        "from": "0x1A2b3C4d5E6f7A8b9C0d1E2f3A4b5C6d7E8f9A0b",
        "to": "0x9f1c4a2b7De3a01F5b8c2D4e6A7b9C0d1E2f3A4b",
        "value": "100000",
        "validAfter": "0",
        "validBefore": "1710003600",
        "nonce": "text",
        "deadline": "text"
      },
      "transaction": "text",
      "payer": "text"
    }
  },
  "paymentRequirements": {
    "scheme": "exact",
    "network": "eip155:8453",
    "maxAmountRequired": "100000",
    "resource": "text",
    "description": "text",
    "mimeType": "text",
    "payTo": "0x9f1c4a2b7De3a01F5b8c2D4e6A7b9C0d1E2f3A4b",
    "maxTimeoutSeconds": 60,
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "extra": {}
  }
}
{
  "success": true,
  "message": "Verification complete",
  "data": {
    "isValid": true,
    "invalidReason": null,
    "payer": "0x1A2b3C4d5E6f7A8b9C0d1E2f3A4b5C6d7E8f9A0b",
    "chain": "base",
    "asset": "USDC",
    "payTo": "0x9f1c4a2b7De3a01F5b8c2D4e6A7b9C0d1E2f3A4b",
    "amount": "0.10",
    "checks": {
      "timestamp": "pass",
      "nonce": "pass",
      "balance": "pass"
    }
  }
}

Settle an x402 payment

post
/api/v1/x402/settle

Submit a signed payment on-chain and return the settlement receipt.

Body
x402VersionnumberRequiredExample: 1
Responses
201Success
application/json
successbooleanRequiredExample: true
messagestringRequiredExample: Payment settled
post/api/v1/x402/settle
POST /api/v1/x402/settle HTTP/1.1
Host: api.coincircuit.io
Content-Type: application/json
Accept: */*
Content-Length: 665

{
  "x402Version": 1,
  "paymentPayload": {
    "x402Version": 1,
    "scheme": "exact",
    "network": "eip155:8453",
    "payload": {
      "signature": "text",
      "authorization": {
        "from": "0x1A2b3C4d5E6f7A8b9C0d1E2f3A4b5C6d7E8f9A0b",
        "to": "0x9f1c4a2b7De3a01F5b8c2D4e6A7b9C0d1E2f3A4b",
        "value": "100000",
        "validAfter": "0",
        "validBefore": "1710003600",
        "nonce": "text",
        "deadline": "text"
      },
      "transaction": "text",
      "payer": "text"
    }
  },
  "paymentRequirements": {
    "scheme": "exact",
    "network": "eip155:8453",
    "maxAmountRequired": "100000",
    "resource": "text",
    "description": "text",
    "mimeType": "text",
    "payTo": "0x9f1c4a2b7De3a01F5b8c2D4e6A7b9C0d1E2f3A4b",
    "maxTimeoutSeconds": 60,
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "extra": {}
  }
}
{
  "success": true,
  "message": "Payment settled",
  "data": {
    "id": "a1b2c3d4-e5f6-4789-a0b1-c2d3e4f5a6b7",
    "txHash": "0x4b7a1f0c9d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a",
    "status": "confirmed",
    "amlCheck": "passed",
    "errorReason": null,
    "network": "eip155:8453",
    "chain": "base",
    "asset": "USDC",
    "resource": "https://api.example.com/premium",
    "description": "Premium API call",
    "payer": "0x1A2b3C4d5E6f7A8b9C0d1E2f3A4b5C6d7E8f9A0b",
    "payTo": "0x9f1c4a2b7De3a01F5b8c2D4e6A7b9C0d1E2f3A4b",
    "amount": "0.10",
    "fee": "0",
    "blockNumber": 12345678,
    "explorerUrl": "https://basescan.org/tx/0x4b7a1f0c9d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a",
    "createdAt": "2026-06-25T21:09:02.000Z"
  }
}

List supported x402 networks and assets

get
/api/v1/x402/supported
Responses
200Success
application/json
successbooleanRequiredExample: true
messagestringRequiredExample: Supported networks retrieved
get/api/v1/x402/supported
GET /api/v1/x402/supported HTTP/1.1
Host: api.coincircuit.io
Accept: */*
200Success
{
  "success": true,
  "message": "Supported networks retrieved",
  "data": {
    "kinds": [
      {
        "x402Version": 1,
        "scheme": "exact",
        "network": "eip155:8453",
        "chain": "base",
        "assets": [
          "USDC",
          "USDT"
        ],
        "extra": {
          "feePayer": "FeePayerExamp1e1111111111111111111111111111"
        }
      }
    ]
  }
}

List x402 transactions

get
/api/v1/x402/transactions

List settled x402 payments for your account, newest first.

Query parameters
pagenumber · min: 1Optional

Page number (1-based)

Default: 1Example: 1
sizenumber · min: 1 · max: 100Optional

Number of items per page

Default: 10Example: 10
searchstringOptional

Search by transaction hash or address

Example: 0x4b7a1f0c9d2e
statusstring · enumOptionalExample: confirmedPossible values:
chainstring · enumOptionalExample: basePossible values:
assetstring · enumOptionalExample: USDCPossible values:
startDatestringOptional

Created from this date/time (ISO 8601)

Example: 2026-06-01T00:00:00Z
endDatestringOptional

Created up to this date/time (ISO 8601)

Example: 2026-06-30T23:59:59Z
Responses
200Success
application/json
successbooleanRequiredExample: true
messagestringRequiredExample: x402 transactions retrieved
get/api/v1/x402/transactions
GET /api/v1/x402/transactions HTTP/1.1
Host: api.coincircuit.io
Accept: */*
200Success
{
  "success": true,
  "message": "x402 transactions retrieved",
  "data": [
    {
      "id": "a1b2c3d4-e5f6-4789-a0b1-c2d3e4f5a6b7",
      "txHash": "0x4b7a1f0c9d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a",
      "status": "confirmed",
      "amlCheck": "passed",
      "errorReason": null,
      "network": "eip155:8453",
      "chain": "base",
      "asset": "USDC",
      "resource": "https://api.example.com/premium",
      "description": "Premium API call",
      "payer": "0x1A2b3C4d5E6f7A8b9C0d1E2f3A4b5C6d7E8f9A0b",
      "payTo": "0x9f1c4a2b7De3a01F5b8c2D4e6A7b9C0d1E2f3A4b",
      "amount": "0.10",
      "fee": "0",
      "blockNumber": 12345678,
      "explorerUrl": "https://basescan.org/tx/0x4b7a1f0c9d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a",
      "createdAt": "2026-06-25T21:09:02.000Z"
    }
  ],
  "meta": {
    "page": 1,
    "size": 10,
    "total": 42,
    "totalPages": 5
  }
}

Get an x402 transaction

get
/api/v1/x402/transactions/{txHash}

Fetch a settled x402 payment by transaction hash.

Path parameters
txHashstringRequired
Responses
200Success
application/json
successbooleanRequiredExample: true
messagestringRequiredExample: x402 transaction retrieved
get/api/v1/x402/transactions/{txHash}
GET /api/v1/x402/transactions/{txHash} HTTP/1.1
Host: api.coincircuit.io
Accept: */*
{
  "success": true,
  "message": "x402 transaction retrieved",
  "data": {
    "id": "a1b2c3d4-e5f6-4789-a0b1-c2d3e4f5a6b7",
    "txHash": "0x4b7a1f0c9d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a",
    "status": "confirmed",
    "amlCheck": "passed",
    "errorReason": null,
    "network": "eip155:8453",
    "chain": "base",
    "asset": "USDC",
    "resource": "https://api.example.com/premium",
    "description": "Premium API call",
    "payer": "0x1A2b3C4d5E6f7A8b9C0d1E2f3A4b5C6d7E8f9A0b",
    "payTo": "0x9f1c4a2b7De3a01F5b8c2D4e6A7b9C0d1E2f3A4b",
    "amount": "0.10",
    "fee": "0",
    "blockNumber": 12345678,
    "explorerUrl": "https://basescan.org/tx/0x4b7a1f0c9d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a",
    "createdAt": "2026-06-25T21:09:02.000Z"
  }
}

Last updated

Was this helpful?