{"info":{"_postman_id":"936fa957-54af-467e-9a5a-ac9ef0f294ea","name":"CoinPay REST API Documentation","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"43756031","collectionId":"936fa957-54af-467e-9a5a-ac9ef0f294ea","publishedId":"2sB3QKq97u","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-10-09T10:18:40.000Z"},"item":[{"name":"Deposit","item":[{"name":"createDepositRequest","id":"62b48f79-49a3-41fa-b474-399c1253de14","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"x-api-key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"merchantId\": \"testMerchant1\",\r\n  \"externalTxId\": \"ext-tx-002434\",\r\n  \"token\": \"usdt\",\r\n  \"currencyInLocal\": \"TRY\",\r\n  \"chain\": \"tron\",\r\n  \"amountInLocal\": 192.4\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/deposit/request","description":"<h1 id=\"deposit-flow-overview\">Deposit Flow (Overview)</h1>\n<ol>\n<li><p><strong>User picks a currency</strong> in your UI.</p>\n</li>\n<li><p>Your system sends <strong>Create Deposit</strong> with the selected <strong><code>token</code></strong> <strong>+</strong> <strong><code>chain</code></strong> and a <strong>unique</strong> <strong><code>externalTxId</code></strong>.</p>\n</li>\n<li><p>We <strong>immediately</strong> return a <strong>fresh deposit address</strong> (and QR) + the <strong>expected token amount</strong> calculated from your local currency.</p>\n</li>\n<li><p>You show the address/QR/expected amount to the user and wait for the transfer.</p>\n</li>\n<li><p>After the blockchain confirmation, we <strong>POST a callback</strong> to your URL. If no payment arrives within the agreed window, the session <strong>expires</strong>.</p>\n</li>\n</ol>\n<p>Tip: Use <code>GET /api/public/supported-currencies</code> to build your currency selector. Always send <strong><code>token</code></strong> <strong>+</strong> <strong><code>chain</code></strong> from that list (never send <code>label</code>).</p>\n<hr />\n<h2 id=\"create-deposit\">Create Deposit</h2>\n<p><strong>Endpoint</strong><br /><code>POST {{baseUrl}}/api/deposit/request</code></p>\n<p><strong>Headers</strong></p>\n<ul>\n<li><p><code>Content-Type: application/json</code></p>\n</li>\n<li><p><code>x-api-key: {{apiKey}}</code> <em>(required; your API key must also be IP-allowlisted)</em></p>\n</li>\n</ul>\n<p><strong>Request Body (example)</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"externalTxId\": \"ext-tx-0024234\",\n  \"token\": \"usdt\",\n  \"currencyInLocal\": \"TRY\",\n  \"chain\": \"tron\",\n  \"amountInLocal\": 1000\n}\n\n</code></pre>\n<p><strong>Fields</strong></p>\n<ul>\n<li><p><code>externalTxId</code> <em>(string, required)</em> – <strong>Unique</strong> per request. Use this to reconcile in your system.</p>\n</li>\n<li><p><code>token</code> <em>(string, required)</em> – From discovery (<code>usdt</code>, <code>eth</code>, …).</p>\n</li>\n<li><p><code>chain</code> <em>(string, required)</em> – From discovery (<code>tron</code>, <code>eth</code>, …).</p>\n</li>\n<li><p><code>currencyInLocal</code> <em>(string, required)</em> – ISO-4217 (e.g., <code>TRY</code>, <code>USD</code>).</p>\n</li>\n<li><p><code>amountInLocal</code> <em>(number, required)</em> – Amount in the local currency above.</p>\n</li>\n</ul>\n<p><strong>200 OK – Success Response</strong></p>\n<p>We generate a <strong>new, unique address</strong> per request.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"depositAddress\": \"TJXkjYHDsYssjoqSwswnTVQJDnLjRJDLaf\",\n  \"expectedTokenAmount\": 24.366471734892787,\n  \"token\": \"usdt\",\n  \"currencyInLocal\": \"TRY\",\n  \"chain\": \"tron\",\n  \"qrCode\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsAQAAAABRBrP...\"\n}\n\n</code></pre>\n<p><strong>What to do with the response</strong></p>\n<ul>\n<li><p>Show the <strong>address</strong> and the <strong>QR</strong> to the user.</p>\n<ul>\n<li>The <code>qrCode</code> is a <strong>PNG Data URL</strong>; you can display it directly in HTML:</li>\n</ul>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-html\">img src=\"data:image/png;base64,...\" alt=\"Deposit QR\"\n\n</code></pre>\n<ul>\n<li><p>Display the <strong><code>expectedTokenAmount</code></strong> so the user knows how much <strong>token</strong> to send for the chosen local amount.</p>\n</li>\n<li><p>Keep <code>externalTxId</code> on your side; it will also appear in the callback.</p>\n</li>\n</ul>\n<p><strong>Idempotency / duplicates</strong></p>\n<ul>\n<li><p><code>externalTxId</code> <strong>must be unique</strong>.</p>\n</li>\n<li><p>If you send the same <code>externalTxId</code> again, we may <strong>reject with</strong> <em><strong>400</strong></em> <em><strong>Bad Request.</strong></em></p>\n</li>\n</ul>\n<h2 id=\"callback-webhook\">Callback (Webhook)</h2>\n<p>After funds are detected and confirmed on-chain, we POST to your callback URL.</p>\n<p><strong>Your endpoint</strong><br /><code>POST https:///fluxpay/deposit/callback</code> <em>(example)</em></p>\n<p><strong>Headers (examples)</strong></p>\n<ul>\n<li><p><code>Content-Type: application/json</code></p>\n</li>\n<li><p><code>X-Request-Id:</code></p>\n</li>\n<li><p><code>X-Signature:</code> <em>(optional, if signing is enabled)</em></p>\n</li>\n</ul>\n<h3 id=\"success-callback-example\">Success Callback (example)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"CONFIRMED\",\n  \"txId\": \"b3b4c7e21f90a6a5f0d2e9c18a4f6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3\",\n  \"receivedTokenAmount\": 24.370000,\n  \"receivedFiatAmount\": 1000.00,\n  \"currency\": \"TRY\",\n  \"token\": \"usdt\",\n  \"chain\": \"tron\",\n  \"externalTxId\": \"ext-tx-0024234\",\n  \"depositAddress\": \"TJXkjYHDsYssjoqSwswnTVQJDnLjRJDLaf\",\n  \"timestamp\": \"2025-08-23T10:49:02Z\"\n}\n\n</code></pre>\n<p><strong>Statuses</strong></p>\n<ul>\n<li><code>CONFIRMED</code> → final success<br />  We do not post to your callback URL for the incompleted transactions.</li>\n</ul>\n<hr />\n<h2 id=\"notes--best-practices\">Notes &amp; Best Practices</h2>\n<ul>\n<li><p>Always use <strong><code>GET /api/public/supported-currencies</code></strong> to populate your currency selector. Send only <strong><code>token</code></strong> and <strong><code>chain</code></strong> from that list.</p>\n</li>\n<li><p>The <strong>deposit address is unique per request</strong>—do not reuse it across users.</p>\n</li>\n<li><p>Show the <strong>QR code</strong> and <strong>expectedTokenAmount</strong> exactly as returned.</p>\n</li>\n<li><p>Ensure your requests come from <strong>allowlisted IPs</strong> and include the <strong><code>x-api-key</code></strong> header.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","deposit","request"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"1621619e-09c0-4df0-b49f-d29194916fa7","name":"200 - Succesful Response","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"x-api-key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \r\n  \"externalTxId\": \"ext-tx-012024234\",\r\n  \"token\": \"usdt\",\r\n  \"currencyInLocal\": \"TRY\",\r\n  \"chain\": \"tron\",\r\n  \"amountInLocal\": 1000\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseURL}}/api/deposit/request"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Vary","value":"origin,access-control-request-method,access-control-request-headers,accept-encoding"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Fri, 29 Aug 2025 08:12:47 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"depositAddress\": \"TNbw375w2BoWLhnqCm5HE7EvrnKJawhDSn\",\n    \"expectedTokenAmount\": 24.366471734892787,\n    \"token\": \"usdt\",\n    \"currencyInLocal\": \"TRY\",\n    \"chain\": \"tron\",\n    \"qrCode\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsAQAAAABRBrPYAAABZUlEQVR4Xu3RQZLCMAxEUd8sV/eRuAGj35KZiksGllNTLUgitV5YmPH8ph5jT9oy28psK7OtzLb6+2wO1TW54kN0vVKzI6ONO4xOInnuzA4MMPnokWilZh+Z0rU0+5bRowZWr5m9Z4VZS9W0dmY9Y6ejvH0qNTuxV3G+l258f8usZXNcHDELTrWg+vu/YHZjCsXvhFYrs56xiZh85ONKV++btYwhg8kmRSYRmJ2ZTlUr5aL1BJi1LJ2u6AeGqazZiSnh/lScph5KzHomJRGd1pQyszOr7WDP9zmz1Ya9WctIk8dWHe9lrtmsZcS6Yju0yplBP2B2YGShliCgz/fNDkzHOCIfoiKZ1I+YtWzVZAGoU9ZsdmRsWEZHHCYhTIlZz2jZCq6J12swO7A8yMhome4HbvaWZc9dnbxGs/dMTVZ0MdOYnVlhdjmsSb3Zga0TXau6jQXNWvaxzLYy28psK7Ot/gP7AfI1EP4VaVegAAAAAElFTkSuQmCC\"\n}"},{"id":"d26c8ea2-691a-411c-b686-ab83ac75e41e","name":"400 Bad Request - externalTxId Duplicate","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"x-api-key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \r\n  \"externalTxId\": \"ext-tx-02024234\",\r\n  \"token\": \"usdt\",\r\n  \"currencyInLocal\": \"TRY\",\r\n  \"chain\": \"tron\",\r\n  \"amountInLocal\": 1000\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseURL}}/api/deposit/request"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"Vary","value":"origin,access-control-request-method,access-control-request-headers,accept-encoding"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Fri, 29 Aug 2025 08:11:36 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"errorType\": \"BadRequest\",\n    \"message\": \"Duplicate externalTxId. Please use a new, unique transaction identifier.\"\n}"}],"_postman_id":"62b48f79-49a3-41fa-b474-399c1253de14"},{"name":"createTestDepositRequest","id":"24500d10-4c2b-416e-8a53-45559a413fb0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"x-api-key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \r\n  \"externalTxId\": \"ext-tx-012024234\",\r\n  \"token\": \"eth\",\r\n  \"currencyInLocal\": \"TRY\",\r\n  \"chain\": \"eth\",\r\n  \"amountInLocal\": 1000\r\n}","options":{"raw":{"language":"json"}}},"url":"{{baseURL}}/api/test/deposit/request","description":"<p><strong>This endpoint supports only the Ethereum (ETH) chain and the ETH native token, and operates identically to</strong> <strong><code>/api/deposit/request</code></strong> <strong>in logic and behavior.</strong></p>\n","urlObject":{"path":["api","test","deposit","request"],"host":["{{baseURL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"24500d10-4c2b-416e-8a53-45559a413fb0"}],"id":"2a44429c-f10f-43da-be4b-55aae2fbe812","_postman_id":"2a44429c-f10f-43da-be4b-55aae2fbe812","description":""},{"name":"Withdraw","item":[{"name":"createWithdrawRequest","id":"4398eeb5-ac1e-478e-a396-3395b0cd59f8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"x-api-key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"externalTxId\": \"ext-tx-23211311323\",\r\n  \"token\": \"usdt\",\r\n  \"currencyInLocal\": \"TRY\",\r\n  \"chain\": \"tron\",\r\n  \"toAddress\": \"TX7y4vtDa7QFeR2z4SEtC5j5dkYH3TQoUF\",\r\n  \"amountInLocalCurrency\": 999\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/withdraw/request","description":"<h1 id=\"withdraw-flow-overview\">Withdraw Flow (Overview)</h1>\n<ol>\n<li><p><strong>Discover assets</strong> – Call <code>GET /api/public/supported-currencies</code> to get all valid <strong>token + chain</strong> pairs.</p>\n</li>\n<li><p><strong>User selects a currency</strong> in your UI – From the selected row, take the <code>token</code> and <code>chain</code> values (do <strong>not</strong> send <code>label</code>).</p>\n</li>\n<li><p><strong>Create a withdrawal</strong> – Call <code>POST /api/withdraw/request</code> with the body below.</p>\n</li>\n<li><p><strong>Immediate response</strong> – We return a JSON object with a server <code>id</code>, your <code>externalTxId</code>, and the initial <code>status</code>.</p>\n</li>\n<li><p><strong>Callback (webhook)</strong> – When the withdrawal finishes completed, we send a POST to your callback URL with a final status payload.</p>\n</li>\n</ol>\n<h2 id=\"1-supported-currencies-discovery\">1) Supported Currencies (Discovery)</h2>\n<p><strong>Endpoint</strong><br /><code>GET {{baseUrl}}/api/public/supported-currencies</code></p>\n<p><strong>Purpose</strong></p>\n<p>Returns every <strong>valid combination</strong> of <code>token</code> and <code>chain</code> you can use when creating a withdrawal. <code>label</code> is <strong>display-only</strong> for your UI.</p>\n<p><strong>200 – Example</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n{ \"token\": \"usdt\", \"label\": \"USDT (TRC20)\", \"chain\": \"tron\" },\n{ \"token\": \"tron\", \"label\": \"TRX\", \"chain\": \"tron\" },\n{ \"token\": \"usdt\", \"label\": \"USDT (ERC20)\", \"chain\": \"eth\" },\n{ \"token\": \"eth\", \"label\": \"ETHEREUM\", \"chain\": \"eth\" },\n{ \"token\": \"btc\", \"label\": \"BITCOIN\", \"chain\": \"btc\" },\n{ \"token\": \"busd\", \"label\": \"BUSD (BEP20)\", \"chain\": \"bsc\" },\n{ \"token\": \"bnb\", \"label\": \"BNB\", \"chain\": \"bsc\" },\n{ \"token\": \"doge\", \"label\": \"DOGE\", \"chain\": \"doge\" },\n{ \"token\": \"ada\", \"label\": \"ADA\", \"chain\": \"ada\" },\n{ \"token\": \"sol\", \"label\": \"SOLANA\", \"chain\": \"solana\" },\n{ \"token\": \"usdc\", \"label\": \"USDC (SOLANA)\", \"chain\": \"solana\" },\n{ \"token\": \"xlm\", \"label\": \"XLM\", \"chain\": \"xlm\" },\n{ \"token\": \"xrp\", \"label\": \"XRP\", \"chain\": \"xrp\" }\n]\n\n</code></pre>\n<h2 id=\"2-create-withdrawal\">2) Create Withdrawal</h2>\n<p><strong>Endpoint</strong><br /><code>POST {{baseUrl}}/api/withdraw/request</code></p>\n<h1 id=\"request-headers\">Request Headers</h1>\n<ul>\n<li><p><code>Content-Type: application/json</code></p>\n</li>\n<li><p><code>x-api-key: {{apiKey}}</code></p>\n</li>\n</ul>\n<h1 id=\"request-body\">Request Body</h1>\n<p>Take <code>token</code> and <code>chain</code> directly from the available currencies list row the user selected.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n\"externalTxId\": \"ext-tx-232323\",\n\"token\": \"usdt\",\n\"currencyInLocal\": \"TRY\",\n\"chain\": \"tron\",\n\"toAddress\": \"TX7y4vtDa7QFeR2z4SEtC5j5dkYH3TQoUF\",\n\"amountInLocalCurrency\": 20\n}\n\n</code></pre>\n<p><strong>Field Details</strong></p>\n<ul>\n<li><p><code>externalTxId</code> <em>(string, required)</em> – Your unique reference for idempotency &amp; reconciliation.</p>\n</li>\n<li><p><code>token</code> <em>(string, required)</em> – From discovery (<code>usdt</code>, <code>eth</code>, <code>btc</code>, …).</p>\n</li>\n<li><p><code>chain</code> <em>(string, required)</em> – From discovery (<code>tron</code>, <code>eth</code>, <code>bsc</code>, …).</p>\n</li>\n<li><p><code>currencyInLocal</code> <em>(string, required)</em> – ISO-4217 (e.g., <code>TRY</code>, <code>USD</code>, <code>EUR</code>).</p>\n</li>\n<li><p><code>amountInLocalCurrency</code> <em>(number, required)</em> – Amount in the local currency above.</p>\n</li>\n<li><p><code>toAddress</code> <em>(string, required)</em> – Destination address for the selected chain.</p>\n</li>\n<li><p><code>destinationTag</code> <em>(string, optional)</em> – <strong>Required for chains that need it</strong> (e.g., <code>xrp</code>, <code>xlm</code>). Omit for chains that don’t.</p>\n</li>\n</ul>\n<p><strong>202 Accepted – Success Response</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"transactionId\": 21,\n    \"externalTxId\": \"ext-tx-23312323\",\n    \"status\": \"PENDING\",\n    \"message\": \"Withdraw request accepted for processing.\"\n}\n\n</code></pre>\n<h2 id=\"3-withdrawal-callback-webhook\">3) Withdrawal Callback (Webhook)</h2>\n<p>After the withdrawal is processed on our side (success), we <strong>POST</strong> a callback to your configured URL.</p>\n<p><strong>Your endpoint</strong><br /><code>POST https:///fluxpay/withdraw/callback</code> <em>(example)</em></p>\n<p><strong>Headers (examples)</strong></p>\n<ul>\n<li><code>Content-Type: application/json</code></li>\n</ul>\n<p><strong>Callback body (example)</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n\"amount\":1.7548477669562166,\n\"status\":\"COMPLETED\",\n\"blockchainTxId\":\"d991ad7a5ee5e1104b7dbf069ec175b4383b8781a173da6a75ef3df938c13411\",\n\"externalTxId\":\"ext-tx-232323\",\n\"token\":\"TRON\",\n\"timestamp\":\"2025-06-10T13:27:42.660203200\",\n\"toAddress\":\"TX7y4vtDa7QFeR2z4SEtC5j5dkYH3TQoUF\"\n}\n\n</code></pre>\n<p><strong>Status values</strong></p>\n<ul>\n<li><code>COMPLETED</code> → <code>FAILED</code></li>\n</ul>\n<p>You can tweak any sample field names/values (fees, timestamps, retry policy, signature scheme) to match your actual implementation.</p>\n","urlObject":{"path":["api","withdraw","request"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"dca0c05c-7258-4690-b3c9-c025585cd960","name":"202 Accepted","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"x-api-key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"externalTxId\": \"ext-tx-2321311323\",\r\n  \"token\": \"tron\",\r\n  \"currencyInLocal\": \"TRY\",\r\n  \"chain\": \"tron\",\r\n  \"toAddress\": \"TX7y4vtDa7QFeR2z4SEtC5j5dkYH3TQoUF\",\r\n  \"amountInLocalCurrency\": 20\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseURL}}/api/withdraw/request"},"status":"Accepted","code":202,"_postman_previewlanguage":null,"header":[{"key":"Vary","value":"origin,access-control-request-method,access-control-request-headers,accept-encoding"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 28 Aug 2025 07:08:20 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"transactionId\": 22,\n    \"externalTxId\": \"ext-tx-2321311323\",\n    \"status\": \"PENDING\",\n    \"message\": \"Withdraw request accepted for processing.\"\n}"},{"id":"8d0bd77d-1f16-4676-83a0-0dd1c10ae906","name":"401 Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"x-api-key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"externalTxId\": \"ext-tx-232131323\",\r\n  \"token\": \"tron\",\r\n  \"currencyInLocal\": \"TRY\",\r\n  \"chain\": \"tron\",\r\n  \"toAddress\": \"TX7y4vtDa7QFeR2z4SEtC5j5dkYH3TQoUF\",\r\n  \"amountInLocalCurrency\": 20\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/withdraw/request"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json;charset=ISO-8859-1"},{"key":"Content-Length","value":"28"},{"key":"Date","value":"Thu, 28 Aug 2025 07:06:29 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid API key\"\n}"},{"id":"04b0a626-53d7-45a1-acb1-6e1e32660742","name":"400 Bad Request - externalTxId duplication","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"x-api-key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"externalTxId\": \"ext-tx-2321311323\",\r\n  \"token\": \"usdt\",\r\n  \"currencyInLocal\": \"TRY\",\r\n  \"chain\": \"tron\",\r\n  \"toAddress\": \"TX7y4vtDa7QFeR2z4SEtC5j5dkYH3TQoUF\",\r\n  \"amountInLocalCurrency\": 2000\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/withdraw/request"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"Vary","value":"origin,access-control-request-method,access-control-request-headers,accept-encoding"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 28 Aug 2025 07:09:12 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"FAILED\",\n    \"message\": \"Bu externalTxId ile zaten bir işlem var.\"\n}"},{"id":"8cfab846-8f86-4211-b0f4-64148247d8bd","name":"400 Bad Request -  Insufficient Funds","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"x-api-key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"externalTxId\": \"ext-tx-23211311323\",\r\n  \"token\": \"usdt\",\r\n  \"currencyInLocal\": \"TRY\",\r\n  \"chain\": \"tron\",\r\n  \"toAddress\": \"TX7y4vtDa7QFeR2z4SEtC5j5dkYH3TQoUF\",\r\n  \"amountInLocalCurrency\": 2000\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/withdraw/request"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"Vary","value":"origin,access-control-request-method,access-control-request-headers,accept-encoding"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 28 Aug 2025 07:10:05 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"FAILED\",\n    \"message\": \"Yetersiz bakiye: usdt\"\n}"},{"id":"b6db08c7-574b-46c3-a10e-6e018d544fd4","name":"400 Bad Request - Minimum Withdraw Amount","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"x-api-key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"externalTxId\": \"ext-tx-23211311323\",\r\n  \"token\": \"usdt\",\r\n  \"currencyInLocal\": \"TRY\",\r\n  \"chain\": \"tron\",\r\n  \"toAddress\": \"TX7y4vtDa7QFeR2z4SEtC5j5dkYH3TQoUF\",\r\n  \"amountInLocalCurrency\": 999\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/withdraw/request"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"Vary","value":"origin,access-control-request-method,access-control-request-headers,accept-encoding"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 28 Aug 2025 07:18:15 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"FAILED\",\n    \"message\": \"Minimum çekilebilir tutar: 1000.0 TRY\"\n}"}],"_postman_id":"4398eeb5-ac1e-478e-a396-3395b0cd59f8"},{"name":"createTestWithdrawRequest","id":"86e45bbd-f7f9-4b2d-a337-845d966a896f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"x-api-key","value":"{{apiKey}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"externalTxId\": \"ext-tx-23211311323\",\r\n  \"token\": \"usdt\",\r\n  \"currencyInLocal\": \"TRY\",\r\n  \"chain\": \"tron\",\r\n  \"toAddress\": \"TX7y4vtDa7QFeR2z4SEtC5j5dkYH3TQoUF\",\r\n  \"amountInLocalCurrency\": 999\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/test/withdraw/request","description":"<p><strong>This endpoint supports only the Ethereum (ETH) chain and the ETH native token, and operates identically to</strong> <strong><code>/api/withdraw/request</code></strong> <strong>in logic and behavior.</strong></p>\n","urlObject":{"path":["api","test","withdraw","request"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"86e45bbd-f7f9-4b2d-a337-845d966a896f"}],"id":"cb29b004-c0c1-4cc0-9cb9-23feba2250c6","_postman_id":"cb29b004-c0c1-4cc0-9cb9-23feba2250c6","description":""},{"name":"Available Currencies","item":[{"name":"getSupportedCurrencies","id":"62f8f285-1412-4b4b-a31f-37a28af7ae40","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"x-api-key","value":"{{apiKey}}","type":"text"}],"url":"{{baseUrl}}/api/public/supported-currencies","urlObject":{"path":["api","public","supported-currencies"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"877c9ea2-90cb-48b4-8e6e-863ea3c9044c","name":"Succesful Response","originalRequest":{"method":"GET","header":[{"key":"x-api-key","value":"{{apiKey}}","type":"text"}],"url":"{{baseUrl}}/api/public/supported-currencies"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Tue, 26 Aug 2025 12:12:30 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Vo15EoKmRCQQgzh1xxqNPX4FJv2dJHI%2FoKaQGriq%2FHoX13Kojosqnv9g7YwBEfyAueMoM891xhCo57CZJw8%2F8tmyuUPbhFK8812K8%2FjOUCk3FP7B\"}]}"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"Vary","value":"origin,access-control-request-method,access-control-request-headers,accept-encoding"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Xss-Protection","value":"0"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"Strict-Transport-Security","value":"max-age=31536000 ; includeSubDomains"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Encoding","value":"gzip"},{"key":"X-Do-App-Origin","value":"23b11338-27c3-4e43-b1df-71385d38ef9f"},{"key":"X-Do-Orig-Status","value":"200"},{"key":"Last-Modified","value":"Tue, 26 Aug 2025 12:12:30 GMT"},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"CF-RAY","value":"97533cdf4a80d279-FRA"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"token\": \"usdt\",\n        \"label\": \"USDT (TRC20)\",\n        \"chain\": \"tron\"\n    },\n    {\n        \"token\": \"tron\",\n        \"label\": \"TRX\",\n        \"chain\": \"tron\"\n    },\n    {\n        \"token\": \"usdt\",\n        \"label\": \"USDT (ERC20)\",\n        \"chain\": \"eth\"\n    },\n    {\n        \"token\": \"eth\",\n        \"label\": \"ETHEREUM\",\n        \"chain\": \"eth\"\n    },\n    {\n        \"token\": \"btc\",\n        \"label\": \"BITCOIN\",\n        \"chain\": \"btc\"\n    },\n    {\n        \"token\": \"busd\",\n        \"label\": \"BUSD (BEP20)\",\n        \"chain\": \"bsc\"\n    },\n    {\n        \"token\": \"bnb\",\n        \"label\": \"BNB\",\n        \"chain\": \"bsc\"\n    },\n    {\n        \"token\": \"doge\",\n        \"label\": \"DOGE\",\n        \"chain\": \"doge\"\n    },\n    {\n        \"token\": \"ada\",\n        \"label\": \"ADA\",\n        \"chain\": \"ada\"\n    },\n    {\n        \"token\": \"sol\",\n        \"label\": \"SOLANA\",\n        \"chain\": \"solana\"\n    },\n    {\n        \"token\": \"usdc\",\n        \"label\": \"USDC (SOLANA)\",\n        \"chain\": \"solana\"\n    },\n    {\n        \"token\": \"xlm\",\n        \"label\": \"XLM\",\n        \"chain\": \"xlm\"\n    },\n    {\n        \"token\": \"xrp\",\n        \"label\": \"XRP\",\n        \"chain\": \"xrp\"\n    }\n]"}],"_postman_id":"62f8f285-1412-4b4b-a31f-37a28af7ae40"}],"id":"12f5ff6e-50d8-40f2-9b23-6956d192bed2","_postman_id":"12f5ff6e-50d8-40f2-9b23-6956d192bed2","description":""}]}