πŸš€ Getting Started

Welcome to VentaConnect! This section will walk you through everything you need to start testing stablecoin payments in your POS system β€” no blockchain experience required.

Please contact us at support@venta.xyz and we will guide you through the integration prerequisites and implementation steps.

πŸ”— Base URL

https://api.venta.xyz/v1

All endpoints are relative to the base URL above.


πŸ” Authentication

All requests must include an API key in the headers.

Header Example:

x-api-key: <your-api-key>

API keys are tied to your POS account. Keys are rate-limited per minute and can be rotated at any time.


πŸ“Š Rate Limits

Each API key is limited to 120 requests per minute by default. If you need higher limits, please contact us.


πŸ” Integration Flow

  1. Request Beta Access

  2. Register your Partner + get API Key

  3. Register Merchant Shop(s)

  4. Initiate Checkout Session

  5. Generate SolanaPay QR Code

  6. Confirm the Payment

  7. Manage Keys or Rotate API Keys


Step 1: Request Beta Access

To begin, you’ll need a one-time beta code from the Venta team. This code allows you to generate your first API key and register as a partner.

πŸ” Beta codes are issued manually. Reach out to your Venta contact or email support@venta.xyz to request one.

Step 2: Register your Partner + get API Key

Make a POST request to:

Body Parameters:

Response:

⚠️ Save your apiKey. You will use it in all future requests via the x-api-key header.

Step 3: Register a Merchant

Each merchant in your POS system must be registered with Venta to receive a wallet and shop ID.

Once registered, merchant are required to verify email to initialise a checkout session

Headers:

Body:

Response:

Step 4: Initiate Checkout Session

Use the /dev/checkout/session endpoint to simulate a payment.

For production endpoint, remove dev/

Example: https://api.venta.xyz/v1/checkout

Headers:

Example:

Response:

  • It is already encodeURIComponent-encoded for safe transport.

  • You can display it as a QR code as-is; wallets will decode and open the Solana Pay URL.

  • If you need to show a readable URL, decodeURIComponent(link) first.

What to do with ref

  • Keep it to correlate status updates.

What to do with ws

  • Connect for real-time status updates (confirmed / expired / informational messages).

Connect to the WebSocket

βœ‰οΈ Message Envelope

All WS messages are JSON with this shape:

Statuses & Codes

Status
Code(s)
Meaning
Terminal

confirmed

PAYMENT_CONFIRMED

Payment landed, txSig provided

βœ… Yes

expired

ORDER_EXPIRED, CONFIRMATION_TIMEOUT, TRANSACTION_FAILED

Payment window elapsed or transaction failed

βœ… Yes

update

RECEIVE_REQUEST, TX_BUILD_ERROR, INSUFFICIENT_FUNDS

Informational updates: QR scanned, build failed, or insufficient funds

❌ No

Example Messages

🧼 When to Close the Connection

Once you’ve received a confirmed transaction or after a timeout (e.g. 3 minutes), you should close the WebSocket connection:

πŸ›  Fallback Strategy

In case the WebSocket disconnects (e.g. unstable network), your POS should periodically poll:

This ensures resilience and no missed confirmations.

Step 5: Confirm the Payment

Venta monitors the blockchain in real-time using WebSocket. But you can also manually check status:

Response:

βœ… That’s it!

You’ve completed a full end-to-end test of VentaConnect.

Last updated