Download OpenAPI specification:Download
The KryptoGO Payment API allows organizations to seamlessly integrate cryptocurrency payments into their applications. Whether you're building a game, e-commerce platform, or any digital service, this API enables you to accept crypto payments and process withdrawals without managing complex blockchain infrastructure.
Create a new payment intent when a user wants to top up their account or make a purchase using cryptocurrency.
X-Client-ID required | string OAuth client ID. Please visit studio.kryptogo.com and register for your organization, and then go to Account Settings to find your OAuth Client ID. |
Origin required | string Your application's domain |
fiat_amount required | string The amount in fiat currency |
fiat_currency required | string Enum: "TWD" "USD" The fiat currency code |
callback_url | string The URL to receive the payment result update |
order_data | object Arbitrary data about the order (e.g., order_id, item_id). Will be returned unaltered in callbacks. Max 1000 characters when marshalled. |
group_key | string A custom identifier for the payment intent, can be used to classify the payment intent. |
{- "fiat_amount": "300.0",
- "fiat_currency": "TWD",
- "order_data": {
- "order_id": "uid_12345",
- "item_id": "100",
- "customer_id": "0x03971234567890"
}, - "group_key": "buy_stone_with_usdt"
}
{- "code": 0,
- "data": {
- "payment_intent_id": "string",
- "client_id": "string",
- "org_id": 0,
- "payment_chain_id": "arb",
- "payment_address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
- "payer_address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
- "token_address": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",
- "symbol": "USDT",
- "decimals": 6,
- "crypto_amount": "9.23",
- "fiat_amount": "300.0",
- "fiat_currency": "TWD",
- "payment_deadline": 1733811354,
- "status": "pending",
- "payment_tx_hash": null,
- "payment_tx_timestamp": 1733811354,
- "aggregation_tx_hash": "0x1234567890abcdef",
- "refund_tx_hash": "0x1234567890abcdef",
- "received_crypto_amount": "8.75",
- "aggregated_crypto_amount": "8.75",
- "refund_crypto_amount": "8.75",
- "order_data": {
- "order_id": "uid_12345",
- "item_id": "100",
- "customer_id": "0x03971234567890"
}, - "callback_url": null,
- "group_key": "buy_stone_with_usdt",
}
}
{- "payment_intent_id": "0h39QkYfZps7AUD1xQsj3MDFVLIMaGoV",
- "client_id": "9c5a79fc1117310f976b53752659b61d",
- "fiat_amount": "300.0",
- "fiat_currency": "TWD",
- "payment_deadline": 1715462400,
- "status": "success",
- "payment_chain_id": "arb",
- "symbol": "USDT",
- "crypto_amount": "2.53",
- "order_data": {
- "order_id": "uid_12345",
- "item_id": "100"
}, - "payment_tx_hash": null,
- "payment_tx_timestamp": 1733811354,
- "payer_address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
- "refund_tx_hash": "0x1234567890abcdef",
- "received_amount": "8.75",
- "aggregated_amount": "8.75",
- "refund_amount": "8.75",
- "group_key": "buy_stone_with_usdt",
- "timestamp": 1716383457,
- "signature": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6"
}
Check the current status of a specific payment intent.
id required | string The payment intent ID |
X-Client-ID required | string OAuth client ID. Please visit studio.kryptogo.com and register for your organization, and then go to Account Settings to find your OAuth Client ID. |
Origin required | string Your application's domain |
{- "code": 0,
- "data": {
- "payment_intent_id": "string",
- "client_id": "string",
- "org_id": 0,
- "payment_chain_id": "arb",
- "payment_address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
- "payer_address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
- "token_address": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",
- "symbol": "USDT",
- "decimals": 6,
- "crypto_amount": "9.23",
- "fiat_amount": "300.0",
- "fiat_currency": "TWD",
- "payment_deadline": 1733811354,
- "status": "pending",
- "payment_tx_hash": null,
- "payment_tx_timestamp": 1733811354,
- "aggregation_tx_hash": "0x1234567890abcdef",
- "refund_tx_hash": "0x1234567890abcdef",
- "received_crypto_amount": "8.75",
- "aggregated_crypto_amount": "8.75",
- "refund_crypto_amount": "8.75",
- "order_data": {
- "order_id": "uid_12345",
- "item_id": "100",
- "customer_id": "0x03971234567890"
}, - "callback_url": null,
- "group_key": "buy_stone_with_usdt",
}
}
Get all payment intents for your organization.
page_number | integer Default: 1 Page number for pagination |
page_size | integer Default: 10 Number of items per page |
client_id | string Filter by client ID |
status | Array of strings Items Enum: "pending" "success" "expired" "insufficient_not_refunded" "insufficient_refunded" Filter by payment intent status. Multiple status values can be provided. |
group_key | string Filter by group key. Uses substring matching (fuzzy search) - will return results where group key contains this value. |
{- "code": 0,
- "data": {
- "items": [
- {
- "payment_intent_id": "string",
- "client_id": "string",
- "org_id": 0,
- "payment_chain_id": "arb",
- "payment_address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
- "payer_address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
- "token_address": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",
- "symbol": "USDT",
- "decimals": 6,
- "crypto_amount": "9.23",
- "fiat_amount": "300.0",
- "fiat_currency": "TWD",
- "payment_deadline": 1733811354,
- "status": "pending",
- "payment_tx_hash": null,
- "payment_tx_timestamp": 1733811354,
- "aggregation_tx_hash": "0x1234567890abcdef",
- "refund_tx_hash": "0x1234567890abcdef",
- "received_crypto_amount": "8.75",
- "aggregated_crypto_amount": "8.75",
- "refund_crypto_amount": "8.75",
- "order_data": {
- "order_id": "uid_12345",
- "item_id": "100",
- "customer_id": "0x03971234567890"
}, - "callback_url": null,
- "group_key": "buy_stone_with_usdt",
}
], - "total_count": 0,
- "page_number": 0,
- "page_size": 0
}
}
Transfer tokens to a user's wallet when they want to withdraw funds from your application. This API can be used for game payouts, user withdrawals, or automated rewards distribution.
Example Use Cases:
Complete Example Request:
{
"chain_id": "arb",
"contract_address": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",
"amount": "50.0",
"wallet_address": "0x3fE5aC82B997255b8226abb6aEfd91f405fe2e8e"
}
This example transfers 50 USDT on Arbitrum to the specified wallet address.
chain_id required | string Enum: "eth" "arb" "bsc" "matic" "btc" "sol" "tron" The blockchain network identifier. Supported values:
|
contract_address required | string The smart contract address of the token to transfer. Common token examples:
Note: For native tokens (ETH, BNB, MATIC, etc.), use the wrapped token contract address. |
amount required | string The amount of tokens to transfer in human-readable format (not raw/wei amount). Examples:
Important: This is NOT in USD value, but in the actual token amount. |
wallet_address required | string The recipient's wallet address where tokens will be sent |
{- "chain_id": "arb",
- "contract_address": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",
- "amount": "100.123456",
- "wallet_address": "0x3fE5aC82B997255b8226abb6aEfd91f405fe2e8e"
}
{- "code": 0,
- "data": {
- "id": "1-1627380000-1",
- "tx_hash": "0x1234567890abcdef",
- "transfer_time": 1627380000
}
}