Skip to main content
POST
/
v1
/
gates
/
{gate_id}
/
verify
curl -X POST https://xenarch.dev/v1/gates/7f3a1b2c.../verify \
  -H "Content-Type: application/json" \
  -d '{"tx_hash": "0xdef456...abc789"}'
{
  "access_token": "eyJhbGciOiJIUzI1NiJ9...",
  "expires_at": "2026-04-10T15:05:00Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.xenarch.com/llms.txt

Use this file to discover all available pages before exploring further.

curl -X POST https://xenarch.dev/v1/gates/7f3a1b2c.../verify \
  -H "Content-Type: application/json" \
  -d '{"tx_hash": "0xdef456...abc789"}'
{
  "access_token": "eyJhbGciOiJIUzI1NiJ9...",
  "expires_at": "2026-04-10T15:05:00Z"
}

Verification process

  1. Fetches the transaction receipt from Base RPC
  2. Confirms the transaction was sent to the splitter contract and succeeded
  3. Parses the Split event logs
  4. Verifies the collector matches the publisher’s registered wallet
  5. Verifies the amount meets or exceeds the gate price
  6. Creates a VerifiedPayment record
  7. Returns an HMAC-SHA256 access token

Notes

  • Idempotent: submitting the same tx_hash again returns the cached token
  • Replay-safe: a tx_hash used for one gate cannot be reused for another
  • Gate must be pending and not expired
  • Access tokens expire after 30 minutes by default

Path Parameters

gate_id
string<uuid>
required

Body

application/json
tx_hash
string
required
Pattern: ^0x[0-9a-fA-F]{64}$

Response

Successful Response

access_token
string
required
expires_at
string<date-time>
required