1.Introduction
Crypto-API for funding Steam accounts is available in an open format. It is an ideal solution for traders, Steam investors, game stores and other interested parties.
Our API is actively used by traders and game stores. Play Wallet merchants turnover for 2023 and 2024 is over 1 million dollars.
2.What you need for API integration
To use the API, you need to:
- Have your own account on the Bybit crypto exchange;
- Provide us with IP addresses of your servers for DEV (test) and PROD (combat) versions;
- Provide the email of your Bybit account, from which payments will be received (mandatory).
3.How the Steam Top Up API works
API is implemented on Bybit internal transfers via UID. We officially cooperate with a licensed processing service to process all payments related to Steam top-ups.
4.Steam currency rates API
You can request the Steam course API from us. Our team has developed our own solution and uses it on the Play Wallet platform.
All calculations are in USD. Link to API: https://steam-rates.playwallet.bot/docs
5.Commission percentage
Commissions are set individually and depend on your future volumes. The standard commission is 4%. Possible commission reduction to 2% for monthly turnover over 300,000 dollars.
6.Beginning API integration
To quickly connect to our API, follow these steps:
- Contact us on Telegram @yspeh_pulse or @volkovecom.
- We'll set up a chat room and you can connect your team to the integration process.
- Provide information (IP addresses for DEV and PROD, email of your Bybit account).
- Our developer will provide you with the necessary accesses (token and URL for DEV and PROD) and answer your questions.
You can use the same server IP address for both PROD version and DEV environment.
7.Implementation of the DEV test environment
When working with the test version of the API, you do not need to deposit balance or pay for orders. The main task is to make sure that all API requests are processed correctly and return responses without errors.
8.Implementation of working PROD-version
Once the test version (DEV) has been successfully integrated, you will be able to start creating real orders in Steam.
If you plan to change the server IP address for the production version, please let us know the new IP address in advance.
9.Top up the balance to create real transactions
When you are sure that the PROD-version is completely ready, you can start creating real orders. However, before doing so, you need to replenish your balance.
Send more than 1 USDT from your specified Bybit account via internal transfer to our account. This way, you will top up your balance every time it runs out.
Our Bybit account UID data: 137323163
10.Instructions for internal transfer to Bybit by UID
- Log in to your Bybit account (the account must be registered to the email you previously provided to us).
- Hover over your Bybit profile and click «Withdraw».
- Select USDT Coin.
- Indicate that it is an Internal Transfer.
- Write an account assignment UID – 137323163
- Specify the withdrawal amount and click «Confirm»
Once sent, the funds will arrive to your API balance within a minute and you can start creating orders.
If you made a mistake when submitting an order, such as specifying the wrong coin, write to us and we will refund your funds.
However, if you have specified an incorrect UID, we will not be able to help you. In this case, please contact Bybit Support.
11.Code
Authorization
All requests to the API must be authorized using an API key, which is passed through the pw-api-key header. The client IP must be in the list of authorized IP addresses for this merchant.
https://dev.merchant.playwallet.bot/api/merchant/
GET /get-balance
Getting the balance of the merchant. As well as the list of available services for payment.
Headlines:
- pw-api-key: merchant API key
Example answer:
{
"status": "success",
"message": "",
"data": {
"balance": "0.00",
"frozenBalance": "0.00",
"feeRatio": "0.0600",
"services": [
{
"id": "657878cd-fd6c-486c-bd67-8a5960b63afb",
"name": "test",
"minAmount": "0.25",
"maxAmount": "200.00"
}
]
}
}
POST /create-order/
Creating an order.
Headlines:
- pw_api_key: merchant API key
Request body:
- externalId: Unique identifier of the order provided by the customer. Used to link the order to the customer's external system.
- serviceId: Identifier of the service the client wants to order. Must correspond to one of the services available in the system.
- amount: The amount of the order in the currency set for the merchant. Must be represented as a string with two decimal places.
- login: Login of the user for whom the order is created.
{
"externalId": "ext-12345",
"serviceId": "657878cd-fd6c-486c-bd67-8a5960b63afb",
"amount": "150.00",
"login": "user123"
}
Example answer:
{
"status": "success",
"message": "",
"data": {
"id": "72cf5503-ae6a-45af-97b8-aae3a0731687",
"status": "queued",
"externalId": "7",
"serviceId": "ff71c998-14be-4e3d-8ad3-0ffc8357265b",
"amount": "1.00",
"amountFee": "0.03",
"feeRatio": "0.03",
"createdDateTime": "2024-04-18T17:36:55.453116",
"expiredDateTime": "2024-04-18T17:46:55.453069",
"completedDateTime": null
}
}
POST /pay-order
Payment for the created order.
Headlines:
- pw_api_key: merchant API key
Request body:
- Order identifier (id): “72cf5503-ae6a-45af-97b8-aae3a0731687”
- Order creation time (createdDateTime): “2024-04-18T17:36:55.453116”
- Concatenation: "72cf5503-ae6a-45af-97b8-aae3a07316872024-04-18T17:36:55.453116"
Application of SHA-512 to concatenation: SHA512("72cf5503-ae6a-45af-97b8-aae3a07316872024-04-18T17:36:55.453116")
Result: A hash string representing the token. – db8e5992e47c48b46f59ecdd1789cc525f4061a52fbf8200dbdab4bc0929de9cf2f61bd8725314440c498a694176b06a2faec22776be4dc8123fffee14b027a5
Note: The client must generate the token on their side and pass it in the request body when paying for the order. On dev environment is not connected with real payments. Also on dev environment when paying for an amount not equal to 1$ the order will close as an error, when the amount is equal to 1$ the order should close as successful.
{
"id": "72cf5503-ae6a-45af-97b8-aae3a0731687",
"externalId": "ext-12345",
"token": "db8e5992e47c48b46f59ecdd1789cc525f4061a52fbf8200dbdab4bc0929de9cf2f61bd8725314440c498a694176b06a2faec22776be4dc8123fffee14b027a5"
}
Example answer:
{
"status": "success",
"message": "",
"data": {
"id": "b8509f61-17fd-4578-8529-7bfb29f14d39",
"status": "queued",
"externalId": "ext-12345",
"serviceId": "cc3848b1-f50b-4f4d-82d3-af32fe4ba35c",
"amount": "150.00",
"amountFee": "0.00",
"feeRatio": "0.00",
"createdDateTime": "2024-04-16T03:07:16.739351",
"expiredDateTime": "2024-04-16T03:34:14",
"completedDateTime": null
}
}
GET /get-order/{id}
Receiving the status of an order.
Headlines:
- pw_api_key: merchant API key
Query Parameters:
- id: Order identifier
Example answer:
{
"status": "success",
"message": "",
"data": {
"id": "72cf5503-ae6a-45af-97b8-aae3a0731687",
"status": "completed",
"externalId": "7",
"serviceId": "ff71c998-14be-4e3d-8ad3-0ffc8357265b",
"amount": "1.00",
"amountFee": "0.03",
"feeRatio": "0.03",
"createdDateTime": "2024-04-18T17:36:55.453116",
"expiredDateTime": "2024-04-18T17:46:55.453069",
"completedDateTime": "2024-04-18T17:44:31.974430"
}
}
GET /get-order-list/
Obtaining the merchant's order history.
Headlines:
- pw_api_key: merchant API key
Query Parameters:
- offset: Offset of the beginning of the list (default 0)
- limit: Number of orders to be returned (default 10)
Example answer:
{
"status": "success",
"message": "",
"data": [
{
"id": "8ca9e0bf-b45b-43c4-acb2-93f467b1760e",
"status": "active",
"externalId": "6",
"serviceId": "ff71c998-14be-4e3d-8ad3-0ffc8357265b",
"amount": "1.00",
"amountFee": "0.03",
"feeRatio": "0.03",
"createdDateTime": "2024-04-18T17:33:13.510839",
"expiredDateTime": "2024-04-18T17:43:13.510798",
"completedDateTime": null
},
{
"id": "72cf5503-ae6a-45af-97b8-aae3a0731687",
"status": "completed",
"externalId": "7",
"serviceId": "ff71c998-14be-4e3d-8ad3-0ffc8357265b",
"amount": "1.00",
"amountFee": "0.03",
"feeRatio": "0.03",
"createdDateTime": "2024-04-18T17:36:55.453116",
"expiredDateTime": "2024-04-18T17:46:55.453069",
"completedDateTime": "2024-04-18T17:44:31.974430"
}
]
}
Order statuses
- active - Waiting for payment confirmation
- queued - To be queued for execution
- completed - Successfully completed
- error - Execution error, means that the order has not been paid, therefore there are no debits from the account for such an order
12.Limitations
We do not provide access to the API in the following cases:
- Companies registered in the Russian Federation due to the sanctions policy.
- Products that use cryptocurrency to top up Steam (including copies of our product).
In all other cases, we are ready to discuss the possibility of connecting to our API.
13.Legal documents
We do not request or provide you with any legal documents to prove cooperation.
All interactions are based solely on your trust in our platform.
14.Refusal or termination of cooperation
We reserve the right to refuse cooperation without giving reasons.
If you violate the terms of our agreement, our cooperation with you will be terminated immediately.
15.Changes to this API
We reserve the right to change and update API information at our discretion. Although frequent changes are not expected, we recommend that you check this page regularly to stay up to date with the current version.
We will notify you of any significant changes in this section.