</> Laravel API

Introduction to Tetherpays

With our API-based crypto payment infrastructure developed for your business, you can securely and quickly accept payments in USDT (Tether) via the TRC20 network. The integration process is extremely simple, allowing you to modernize your digital payment systems and step into the world of cryptocurrency. By reviewing our API documentation, you can integrate the system in just a few steps and start accepting USDT payments right away.

Create an Account

You can register for the system in the Join Us section of the https://www.tetherpays.com URL. When you register, you will receive a verification email and a Google Authenticator code. The Google Authenticator code is also displayed in the information warning that appears when you register with the system. To use the Google Authenticator code, you will need to download the Google Authenticator application to your mobile device, and you will be able to create a key by entering the code we sent you from the email into the application. You will be able to use this key value to log in to the system. Please note that your account must first be approved by the system administrators.

Where to find API Key

When you log in to the system, an API Key will be automatically defined for you. You can find the API key value under My Profile menu. When using the API, simply add a header called api-key to the header section of each request and enter your API key as the value.

Active Cryptocurrencies

You can make payment transactions with active cryptocurrencies in our system. Payment transactions cannot be made with any cryptocurrency that is not available for use with us. You can see which cryptocurrencies you can use in the service below.

GET https://tetherpays.com/api/coins

Response will be as follows.

{
    "data": [
        {
            "name": "Tether",
            "symbol": "USDT",
            "networks": [
                {
                    "name": "TRC20"
                }
            ]
        }
    ]
}

Create a Transaction

In order to process a payment transaction, a transaction record must first be created. When the transaction is created, you can open the payment page with the data in the Response.

To create a transaction, you need to send a request to the following service.

POST https://tetherpays.com/api/transactions/create

When making a request to this service, the following values must be in the body.

name Must contain a user name. Not required

surname Must contain a user surname. Not required

phone Must contain a user phone. Not required

email Must contain a user email. Required

external_user_id This value represents the ID of the user registered in your system. Required

currency Determines which cryptocurrency the user wants to deposit with. Required

payment_amount Determines how much money the user wants to deposit with their chosen cryptocurrency. Required

coin Any of the active coins in the system can be selected. When a coin currency that is not in the system is selected, the transaction will not be executed. To learn about the cryptocurrencies available in the system, you can send a request to https://tetherpays.com/api/coins. Here, use the symbol value in the data. Required

On a successful request you will receive a Response like below.
{
    "success": true,
    "data": {
        "payment_page": "http://localhost:8001/transactions/hupfetTl92m2XFFuKj",
        "key": "hupfetTl92m2XFFuKj"
    }
}

When you open the url, you will see a page like below.

The key and payment_page values are important here. You can open the url value in payment_page in an iframe or a browser tab and let the user make a payment. The user has one hour to make the payment.

You can get the value in the key here and query the status of the transaction. If there is a payment, you can see the result of the user's payment transaction with the data in the response from here.

Transaction Status Query

When a payment request is created, you can query the status of the transaction from the transaction key provided to you.

To create a transaction, you need to send a request to the following service.

GET https://tetherpays.com/api/transactions/status/KEY_VALUE

The Response value of a transaction that has not yet been paid will be as follows.

{
    "key": "GuqBoONOWevKgZxGhV",
    "tx_hash": null,
    "from_address": null,
    "wallet_address": {
        "to_address": "TYx2fvqWYeX6pDzo2198JphffmKjoJtmG2",
        "coin": {
            "name": "Tether",
            "symbol": "USDT"
        }
    },
    "currency": "TRY",
    "payment_amount": "450.000000",
    "amount_to_be_paid": "11.804827",
    "quant": null,
    "status_label": "Pending",
    "status": 0
}

The Response value of a transaction that has just been paid will be as follows.

{
    "key": "GuqBoONOWevKgZxGhV",
    "tx_hash": "499d033fb28584937923cc242e99e1cfb995478af32e475fe4a9eefa10bb4dd0",
    "from_address": "TAzsQ9Gx8eqFNFSKbeXrbi45CuVPHzA8wr",
    "wallet_address": {
        "to_address": "TAZEzMhtetWBr7fTAPevSccNy3TcWd2iQ5",
        "coin": {
            "name": "Tether",
            "symbol": "USDT"
        }
    },
    "currency": "TRY",
    "payment_amount": "450.000000",
    "amount_to_be_paid": "11.804827",
    "quant": "3.000000",
    "status_label": "Approved",
    "status": 1
}

How much money the user who wants to invest has invested can be understood from the quant value. We can summarize the above process as follows. The user wants to deposit 450 TRY and has chosen to do it in USDT (as can be seen from the data inside the wallet_address key value). The amount to be paid is written as amount_to_be_paid but the user sent 3 dollars. In this case, the transaction will still be approved, but the amount deposited will be shown as quant and the amount to be traded here is quant

Query Balance Status

You can use the service below to find out how much balance you have in your account.

GET https://tetherpays.com/api/wallets

It will return a response like below.

{
    "success": true,
    "data": {
        "currency": "USDT",
        "network": "TRC20",
        "balance": "388.000000",
        "transactions": [
            {
                "wallet_address": "TAZEzMhtetWBr7fTAPevSccNy3TcWd2iQ5",
                "type": "Deposit",
                "amount": "400.000000",
                "fee": "0.03",
                "net_amount": "388.000000",
                "status": "Completed",
                "created_at": "2025-04-15T15:09:39.000000Z"
            }
        ]
    }
}

Creating a Withdrawal Request

You can create a withdrawal request using the service below.

POST https://tetherpays.com/api/wallets/withdraw

When making a request to this service, the following values must be in the body.

amount You can specify here how much you want to deposit. Required

wallet_address Specify which wallet address you want to withdraw to. Required

When the request is successfully created, a response value like the one below will be returned. When the request is created, it is reviewed by the system administrators and after approval, the amount you specify will be deducted from your balance and then you will receive a notification e-mail.

{
    "message": "Your request to withdraw has been successfully created.",
    "success": true,
    "data": {
        "currency": "USDT",
        "network": "TRC20",
        "balance": "388.000000",
        "transactions": [
            {
                "wallet_address": "TYx2fvqWYeX6pDzo2198JphffmKjoJtmG2",
                "type": "Withdrawal",
                "amount": "80.000000",
                "fee": null,
                "net_amount": null,
                "status": "Pending",
                "created_at": "2025-04-15T15:36:00.000000Z"
            }
        ]
    }
}
Add Balance to Your Account

You can add balance using the service below.

POST https://tetherpays.com/api/wallets/add-balance

When making a request to this service, the following values must be in the body.

amount You can specify here how much you want to deposit. Required

wallet_address Specify which wallet address you want to withdraw to. Required

When the request is successfully created, a response value like the one below will be returned. When the request is created, it is reviewed by the system administrators and after approval, the amount you specify will be deducted from your balance and then you will receive a notification e-mail.

{
    "success": true,
    "message": "Your request to add balance has been successfully created.",
    "data": {
        "currency": "USDT",
        "network": "TRC20",
        "balance": "388.000000",
        "transactions": [
            {
                "wallet_address": "TYx2fvqWYeX6pDzo2198JphffmKjoJtmG2",
                "type": "Deposit",
                "amount": "100.000000",
                "fee": "0.03",
                "net_amount": "97.000000",
                "status": "Pending",
                "created_at": "2025-04-15T15:43:44.000000Z"
            }
        ]
    }
}