Skip to main content
This quickstart shows the shortest useful path through the API: discover a network, create a project, create a transaction, and track the outcome.

Before You Begin

Prepare these inputs:
  • an environment-specific base URL, shown below as <BASE_URL>;
  • a merchant wallet address for the target network;
  • success, failure, and callback URLs for your application.

1. Check API Availability

curl <BASE_URL>/api/health
The health endpoint returns service time and uptime, and is useful for smoke tests in CI or deployments.

2. Discover Networks and Currencies

curl <BASE_URL>/api/networks
curl <BASE_URL>/api/networks/1/currencies
Choose a valid network_id and currency_symbol from these responses before creating a project.

3. Create a Project

{
  "project_name": "Demo Store",
  "currency_symbol": "TON",
  "network_id": 1,
  "wallet_address": "UQDemoWalletAddress",
  "merchant_url": "https://merchant.example",
  "min_amount": "1.00",
  "max_amount": "250.00",
  "finalization_time": 1800
}
Send the payload to POST /api/projects. The successful response returns:
  • project.project_uid, used in later requests;
  • secret_key, returned once and required for signed transaction creation.
Store secret_key securely at creation time. The docs do not assume it can be fetched again later.

4. Create a Transaction

For the protected flow, send a signed request to POST /api/transaction.
{
  "project_uid": "8f6f5d7c-9e7b-4f50-b72b-5c96a0bbf4fd",
  "amount": "10.50",
  "currency": "TON",
  "success_url": "https://merchant.example/success",
  "failed_url": "https://merchant.example/failed",
  "callback_url": "https://merchant.example/callback"
}
The response includes:
  • tx.id, the transaction identifier;
  • tx.status, which initially reflects the backend state;
  • frontend_link, which can be opened or embedded in your flow.

5. Track the Outcome

Use these endpoints after creation:
GoalEndpoint
List transactions for a projectGET /api/transactions or POST /api/transactions
Read latest statusGET /api/transaction/{id}/status
Read full transaction infoGET /api/transaction/{id}/info
Redirect a customer based on resultGET /api/transaction/{id}/redirect
Trigger callbacks manuallyPOST /api/transaction/{id}/callback or POST /api/transactions/callbacks

6. Handle Status Changes

Transactions may move through these states:
  • pending
  • confirmed
  • failed
  • reverted
Use callbacks for asynchronous delivery, and keep status polling available as a fallback. Continue with Authentication and Signed Requests or Transaction Lifecycle for deeper integration details.