Stablecoin & Crypto
Generate on-chain wallet addresses for USDT and USDC deposits across multiple blockchains.
Get Available Currencies
GET /stable/addresses/currencies
List all supported stablecoin currencies and their available blockchain networks.
Headers
| Field | Value |
|---|---|
| Authorization | Bearer PAYSCRIBE_API_KEY |
Request
- cURL
- Node.js
- Python
- Go
curl -X GET "https://sandbox.payscribe.ng/api/v1/stable/addresses/currencies" \
-H "Authorization: Bearer $PAYSCRIBE_API_KEY"
const response = await fetch('https://sandbox.payscribe.ng/api/v1/stable/addresses/currencies', {
method: 'GET',
headers: {Authorization: `Bearer ${process.env.PAYSCRIBE_API_KEY}`},
});
const result = await response.json().catch(() => null);
if (!response.ok) throw new Error(`Payscribe request failed: ${response.status}`);
console.log(result);
import os
import requests
response = requests.get(
'https://sandbox.payscribe.ng/api/v1/stable/addresses/currencies',
headers={'Authorization': f"Bearer {os.environ['PAYSCRIBE_API_KEY']}"},
timeout=20,
)
response.raise_for_status()
print(response.json())
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
var body io.Reader
request, err := http.NewRequest(http.MethodGet, "https://sandbox.payscribe.ng/api/v1/stable/addresses/currencies", body)
if err != nil { panic(err) }
request.Header.Set("Authorization", "Bearer "+os.Getenv("PAYSCRIBE_API_KEY"))
response, err := http.DefaultClient.Do(request)
if err != nil { panic(err) }
defer response.Body.Close()
responseBody, _ := io.ReadAll(response.Body)
if response.StatusCode < 200 || response.StatusCode > 299 { panic(fmt.Sprintf("Payscribe request failed: %s", response.Status)) }
fmt.Println(string(responseBody))
}
Response
Status: 200 OK
{
"status": true,
"description": "Address currencies retrieved",
"message": {
"details": [
{
"currency": "USDT",
"networks": [
"Tron",
"Ethereum",
"BNB Smart Chain",
"Polygon",
"Arbitrum One",
"Optimism",
"Base",
"Avalanche C-Chain",
"Solana",
"The Open Network"
]
},
{
"currency": "USDC",
"networks": [
"Ethereum",
"BNB Smart Chain",
"Polygon",
"Arbitrum One",
"Optimism",
"Base",
"Solana"
]
}
]
},
"status_code": 200
}
There is no name, minimum_deposit, or confirmation_blocks field, and networks lists full chain names ("Tron", "Ethereum") — not short codes like TRC20/ERC20. Note the actual supported network list is much larger than elsewhere on this page suggests (Polygon, Arbitrum One, Optimism, Base, Avalanche C-Chain, and The Open Network/TON are all valid, in addition to Tron/Ethereum/BNB Smart Chain/Solana).
Generate Address
POST /stable/address/create
Create a deposit address for a specific stablecoin and blockchain network.
Tracing the routed method (SandboxApiEndpoints::createAddress()) shows sandbox address creation is deliberately turned off — the method returns a 503 ("Sandbox stablecoin address creation is not enabled.") before any request field is even read, regardless of currency, network, or chain. Per the code comment, this is intentional pending a separate CoinsBuy sandbox account and wallet mapping — not a bug — but it means the request/response below cannot be exercised in sandbox today. Get Available Currencies, Get Wallet, and Get All Wallets still work normally against your existing (live-created) addresses.
Headers
| Field | Value |
|---|---|
| Authorization | Bearer PAYSCRIBE_API_KEY |
| Content-Type | application/json |
Body Parameters
| Field | Type | Required | Description |
|---|---|---|---|
currency | string | Yes | Stablecoin to receive. One of USDT or USDC. |
network | string | Yes | Blockchain network name (e.g., Tron, Ethereum, BNB Smart Chain, Solana). |
chain | string | Yes | Blockchain standard / chain code (e.g., TRC20, ERC20, BEP20, SOL). |
customer_id | string | No | Associate the address with a customer for easy reconciliation. |
label | string | No | An internal label for the address. |
Request
- cURL
- Node.js
- Python
- Go
curl -X POST "https://sandbox.payscribe.ng/api/v1/stable/address/create" \
-H "Authorization: Bearer $PAYSCRIBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"currency": "USDT",
"network": "Tron",
"chain": "TRC20",
"customer_id": "cus_xyz456"
}'
const response = await fetch('https://sandbox.payscribe.ng/api/v1/stable/address/create', {
method: 'POST',
headers: {Authorization: `Bearer ${process.env.PAYSCRIBE_API_KEY}`, 'Content-Type': 'application/json'},
body: JSON.stringify({
"currency": "USDT",
"network": "Tron",
"chain": "TRC20",
"customer_id": "cus_xyz456"
}),
});
const result = await response.json().catch(() => null);
if (!response.ok) throw new Error(`Payscribe request failed: ${response.status}`);
console.log(result);
import os
import requests
import json
payload = json.loads(r'''{
"currency": "USDT",
"network": "Tron",
"chain": "TRC20",
"customer_id": "cus_xyz456"
}''')
response = requests.post(
'https://sandbox.payscribe.ng/api/v1/stable/address/create',
headers={'Authorization': f"Bearer {os.environ['PAYSCRIBE_API_KEY']}", 'Content-Type': 'application/json'},
json=payload,
timeout=20,
)
response.raise_for_status()
print(response.json())
package main
import (
"strings"
"fmt"
"io"
"net/http"
"os"
)
func main() {
body := strings.NewReader(`{
"currency": "USDT",
"network": "Tron",
"chain": "TRC20",
"customer_id": "cus_xyz456"
}`)
request, err := http.NewRequest(http.MethodPost, "https://sandbox.payscribe.ng/api/v1/stable/address/create", body)
if err != nil { panic(err) }
request.Header.Set("Authorization", "Bearer "+os.Getenv("PAYSCRIBE_API_KEY"))
request.Header.Set("Content-Type", "application/json")
response, err := http.DefaultClient.Do(request)
if err != nil { panic(err) }
defer response.Body.Close()
responseBody, _ := io.ReadAll(response.Body)
if response.StatusCode < 200 || response.StatusCode > 299 { panic(fmt.Sprintf("Payscribe request failed: %s", response.Status)) }
fmt.Println(string(responseBody))
}
Response
Status: 201 Created
{
"status": true,
"description": "Deposit address generated successfully",
"message": {
"details": {
"id": "addr_abc123",
"currency": "USDT",
"network": "Tron",
"chain": "TRC20",
"address": "TXYZabc123def456ghi789jkl012mno345pqr678",
"customer_id": "cus_xyz456",
"label": null,
"status": "active",
"created_at": "2026-07-20T10:00:00Z"
}
},
"status_code": 200
}
The live implementation does not echo label or status on this response, and is idempotent per currency/network/chain/customer_id combination — a repeat call returns the existing address ("Address already existed") rather than creating a new one.
Get Wallet
GET /stable/addresses/{id}
Retrieve details of a single deposit address by its numeric id (this response does not include a balance or deposit history — see Get All Wallets for the fields this API actually returns).
Headers
| Field | Value |
|---|---|
| Authorization | Bearer PAYSCRIBE_API_KEY |
Path Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Numeric wallet address record ID. |
Request
- cURL
- Node.js
- Python
- Go
curl -X GET "https://sandbox.payscribe.ng/api/v1/stable/addresses/123" \
-H "Authorization: Bearer $PAYSCRIBE_API_KEY"
const response = await fetch('https://sandbox.payscribe.ng/api/v1/stable/addresses/123', {
method: 'GET',
headers: {Authorization: `Bearer ${process.env.PAYSCRIBE_API_KEY}`},
});
const result = await response.json().catch(() => null);
if (!response.ok) throw new Error(`Payscribe request failed: ${response.status}`);
console.log(result);
import os
import requests
response = requests.get(
'https://sandbox.payscribe.ng/api/v1/stable/addresses/123',
headers={'Authorization': f"Bearer {os.environ['PAYSCRIBE_API_KEY']}"},
timeout=20,
)
response.raise_for_status()
print(response.json())
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
var body io.Reader
request, err := http.NewRequest(http.MethodGet, "https://sandbox.payscribe.ng/api/v1/stable/addresses/123", body)
if err != nil { panic(err) }
request.Header.Set("Authorization", "Bearer "+os.Getenv("PAYSCRIBE_API_KEY"))
response, err := http.DefaultClient.Do(request)
if err != nil { panic(err) }
defer response.Body.Close()
responseBody, _ := io.ReadAll(response.Body)
if response.StatusCode < 200 || response.StatusCode > 299 { panic(fmt.Sprintf("Payscribe request failed: %s", response.Status)) }
fmt.Println(string(responseBody))
}
Response
Status: 200 OK
{
"status": true,
"description": "Stablecoin address retrieved",
"message": {
"details": {
"id": 123,
"user_id": null,
"customer_id": "cus_xyz456",
"currency": "USDT",
"network": "Tron",
"chain": "TRC20",
"address": "TXYZabc123def456ghi789jkl012mno345pqr678",
"memo_tag": null,
"label": null,
"tracking_id": "8f3b2a5d-1e4c-7a9b-0f2e-6d4a8c1f3009",
"provider": "coinsbuy",
"is_primary": false,
"status": "active",
"created_at": "2026-07-20 10:00:00"
}
},
"status_code": 200
}
id is a plain integer (not an addr_-prefixed string), and network is the full chain name (Tron) with chain carrying the short code (TRC20) separately. There is no balance, total_received, total_withdrawn, transactions_count, or last_activity_at field on this endpoint.
Get All Wallets
GET /stable/addresses
List all deposit addresses generated for your integration. Use the expand parameter to include related customer data.
Headers
| Field | Value |
|---|---|
| Authorization | Bearer PAYSCRIBE_API_KEY |
Query Parameters
| Field | Type | Required | Description |
|---|---|---|---|
expand | string | No | Include related data. Set to customer to include customer details. |
currency | string | No | Filter by currency (USDT or USDC). |
network | string | No | Filter by full network name (e.g. Tron, Ethereum) — not the short chain code. |
chain | string | No | Filter by short chain code (e.g. TRC20, ERC20). |
customer_id | string | No | Filter by associated customer. |
status | string | No | Filter by address status. |
tracking_id | string | No | Filter by the provider's tracking ID. |
only_customer | boolean | No | true returns only addresses tied to a customer; false returns only ones that aren't. |
page | integer | No | Page number to fetch. Defaults to 1. |
limit | integer | No | Addresses per page, max 100. Defaults to 25. There is no per_page parameter. |
Request
- cURL
- Node.js
- Python
- Go
curl -X GET "https://sandbox.payscribe.ng/api/v1/stable/addresses" \
-H "Authorization: Bearer $PAYSCRIBE_API_KEY"
const response = await fetch('https://sandbox.payscribe.ng/api/v1/stable/addresses', {
method: 'GET',
headers: {Authorization: `Bearer ${process.env.PAYSCRIBE_API_KEY}`},
});
const result = await response.json().catch(() => null);
if (!response.ok) throw new Error(`Payscribe request failed: ${response.status}`);
console.log(result);
import os
import requests
response = requests.get(
'https://sandbox.payscribe.ng/api/v1/stable/addresses',
headers={'Authorization': f"Bearer {os.environ['PAYSCRIBE_API_KEY']}"},
timeout=20,
)
response.raise_for_status()
print(response.json())
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
var body io.Reader
request, err := http.NewRequest(http.MethodGet, "https://sandbox.payscribe.ng/api/v1/stable/addresses", body)
if err != nil { panic(err) }
request.Header.Set("Authorization", "Bearer "+os.Getenv("PAYSCRIBE_API_KEY"))
response, err := http.DefaultClient.Do(request)
if err != nil { panic(err) }
defer response.Body.Close()
responseBody, _ := io.ReadAll(response.Body)
if response.StatusCode < 200 || response.StatusCode > 299 { panic(fmt.Sprintf("Payscribe request failed: %s", response.Status)) }
fmt.Println(string(responseBody))
}
Include customer data:
- cURL
- Node.js
- Python
- Go
curl -X GET "https://sandbox.payscribe.ng/api/v1/stable/addresses?expand=customer" \
-H "Authorization: Bearer $PAYSCRIBE_API_KEY"
const response = await fetch('https://sandbox.payscribe.ng/api/v1/stable/addresses?expand=customer', {
method: 'GET',
headers: {Authorization: `Bearer ${process.env.PAYSCRIBE_API_KEY}`},
});
const result = await response.json().catch(() => null);
if (!response.ok) throw new Error(`Payscribe request failed: ${response.status}`);
console.log(result);
import os
import requests
response = requests.get(
'https://sandbox.payscribe.ng/api/v1/stable/addresses?expand=customer',
headers={'Authorization': f"Bearer {os.environ['PAYSCRIBE_API_KEY']}"},
timeout=20,
)
response.raise_for_status()
print(response.json())
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
var body io.Reader
request, err := http.NewRequest(http.MethodGet, "https://sandbox.payscribe.ng/api/v1/stable/addresses?expand=customer", body)
if err != nil { panic(err) }
request.Header.Set("Authorization", "Bearer "+os.Getenv("PAYSCRIBE_API_KEY"))
response, err := http.DefaultClient.Do(request)
if err != nil { panic(err) }
defer response.Body.Close()
responseBody, _ := io.ReadAll(response.Body)
if response.StatusCode < 200 || response.StatusCode > 299 { panic(fmt.Sprintf("Payscribe request failed: %s", response.Status)) }
fmt.Println(string(responseBody))
}
Response
Status: 200 OK
{
"status": true,
"description": "Wallet addresses retrieved",
"message": {
"details": [
[
{
"id": 123,
"user_id": null,
"customer_id": "cus_xyz456",
"currency": "USDT",
"network": "Tron",
"chain": "TRC20",
"address": "TXYZabc123def456ghi789jkl012mno345pqr678",
"memo_tag": null,
"label": "Business wallet",
"tracking_id": "8f3b2a5d-1e4c-7a9b-0f2e-6d4a8c1f3009",
"is_primary": false,
"status": "active",
"created_at": "2026-07-20 10:00:00",
"customer": {
"customer_id": "cus_xyz456",
"name": "John Doe",
"email": "john.doe@example.com",
"phone": "08012345678",
"status": "active"
}
}
],
{
"page": 1,
"limit": 25,
"count": 1
}
]
},
"status_code": 200
}
message.details is a two-element array — details[0] is the list of addresses and details[1] is the pagination info (page/limit/count), not an object with a top-level meta key. There is no total_pages, total_received, balance, or last_activity_at, and the expanded customer object uses name/email/phone/status, not first_name/last_name. This endpoint also only returns addresses created for a topup purpose — card-funding deposit addresses are excluded.
Get Wallet Deposits
List the on-chain deposits credited to one of your wallet addresses.
This is a live-only endpoint — call it against api.payscribe.ng; there is no sandbox counterpart.
Headers
| Field | Value |
|---|---|
| Authorization | Bearer PAYSCRIBE_API_KEY |
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
address_id | integer | One of | Numeric wallet address record ID (returned by Get All Wallets). |
address | string | One of | Literal deposit address string. Exactly one of address_id / address is required. |
page | integer | No | Page number, starting at 1. Default 1. |
limit | integer | No | Results per page, 1–100. Default 25. |
status | string | No | Comma-separated statuses to include (e.g. pending,confirmed). |
currency | string | No | Asset code, e.g. USDT. |
network | string | No | Blockchain name, e.g. Tron. |
chain | string | No | Chain code, e.g. TRC20. |
txid | string | No | Exact transaction hash. |
from / to | string | No | Created-at range, Y-m-d H:i:s. |
Request
GET /stable/addresses/deposits?address_id=123&limit=25
- cURL
- Node.js
- Python
- Go
curl -G https://api.payscribe.ng/api/v1/stable/addresses/deposits \
-H "Authorization: Bearer $PAYSCRIBE_API_KEY" \
--data-urlencode "address_id=123" \
--data-urlencode "limit=25"
const response = await fetch('https://api.payscribe.ng/api/v1/stable/addresses/deposits?address_id=123&limit=25', {
method: 'GET',
headers: {Authorization: `Bearer ${process.env.PAYSCRIBE_API_KEY}`},
});
const result = await response.json().catch(() => null);
if (!response.ok) throw new Error(`Payscribe request failed: ${response.status}`);
import os
import requests
response = requests.get(
'https://api.payscribe.ng/api/v1/stable/addresses/deposits?address_id=123&limit=25',
headers={'Authorization': f"Bearer {os.environ['PAYSCRIBE_API_KEY']}"},
timeout=20,
)
response.raise_for_status()
print(response.json())
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
var body io.Reader
request, err := http.NewRequest(http.MethodGet, "https://api.payscribe.ng/api/v1/stable/addresses/deposits?address_id=123&limit=25", body)
if err != nil { panic(err) }
request.Header.Set("Authorization", "Bearer "+os.Getenv("PAYSCRIBE_API_KEY"))
response, err := http.DefaultClient.Do(request)
if err != nil { panic(err) }
defer response.Body.Close()
responseBody, _ := io.ReadAll(response.Body)
if response.StatusCode < 200 || response.StatusCode > 299 { panic(fmt.Sprintf("Payscribe request failed: %s", response.Status)) }
fmt.Println(string(responseBody))
}
Response
200 OK
{
"status": true,
"description": "Wallet address deposits retrieved",
"message": {
"details": [
[
{
"id": 4567,
"address_id": 123,
"txid": "0x9a1f2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f70",
"amount_asset": 250,
"currency": "USDT",
"network": "Tron",
"chain": "TRC20",
"confirmations": 19,
"required_conf": 18,
"status": "confirmed",
"provider_commission": 0.5,
"created_at": "2026-07-21 09:15:00",
"updated_at": "2026-07-21 09:16:00"
}
],
{
"page": 1,
"limit": 25,
"count": 1
}
]
},
"status_code": 200
}
details[0] rows come straight from the deposits ledger — the credited amount is the asset-denominated amount_asset field (there is no amount key), and pagination lives in details[1] as {page, limit, count}.
Get Stablecoin Order
Fetch a stablecoin-funded card order and its deposit details.
This is a live-only endpoint — call it against api.payscribe.ng; there is no sandbox counterpart.
Headers
| Field | Value |
|---|---|
| Authorization | Bearer PAYSCRIBE_API_KEY |
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
order_id | string | Yes | Public order ID from the /coins path (path parameter). |
Request
GET /coins/{order_id}
- cURL
- Node.js
- Python
- Go
curl -X GET https://api.payscribe.ng/api/v1/coins/ord_abc123 \
-H "Authorization: Bearer $PAYSCRIBE_API_KEY"
const response = await fetch('https://api.payscribe.ng/api/v1/coins/ord_abc123', {
method: 'GET',
headers: {Authorization: `Bearer ${process.env.PAYSCRIBE_API_KEY}`},
});
const result = await response.json().catch(() => null);
if (!response.ok) throw new Error(`Payscribe request failed: ${response.status}`);
import os
import requests
response = requests.get(
'https://api.payscribe.ng/api/v1/coins/ord_abc123',
headers={'Authorization': f"Bearer {os.environ['PAYSCRIBE_API_KEY']}"},
timeout=20,
)
response.raise_for_status()
print(response.json())
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
var body io.Reader
request, err := http.NewRequest(http.MethodGet, "https://api.payscribe.ng/api/v1/coins/ord_abc123", body)
if err != nil { panic(err) }
request.Header.Set("Authorization", "Bearer "+os.Getenv("PAYSCRIBE_API_KEY"))
response, err := http.DefaultClient.Do(request)
if err != nil { panic(err) }
defer response.Body.Close()
responseBody, _ := io.ReadAll(response.Body)
if response.StatusCode < 200 || response.StatusCode > 299 { panic(fmt.Sprintf("Payscribe request failed: %s", response.Status)) }
fmt.Println(string(responseBody))
}
Response
200 OK
{
"status": true,
"description": "Order details fetched.",
"message": {
"details": {
"order_id": "ord_abc123",
"action": "create-card",
"status": "pending",
"currency": "USDT",
"network": "Tron",
"chain": "TRC20",
"amount_usd": 100,
"fee_usd": 5,
"total_usd": 105,
"amount": 105,
"deposit_address": "TXYZabc123def456ghi789jkl012mno345pqr678",
"memo_tag": null,
"ref": "btn_order_123",
"brand": "VISA",
"card_uuid": "card_abc123",
"expires_at": "2026-07-21 10:30:00",
"fulfilled_at": null,
"created_at": "2026-07-21 09:00:00",
"customer": {
"id": "cus_xyz456",
"name": "John Doe",
"email": "john.doe@example.com"
},
"business": {
"id": "biz_123",
"name": "Example Business",
"logo": "https://app.payscribe.ng/assets/img/icons/payscribe_logo.png"
},
"transactions": []
}
},
"status_code": 200
}
The amount field is the exact stablecoin amount (stablecoin_amount) the customer must send to deposit_address, and transactions lists the up to 20 latest matching deposits from the deposits ledger.
Customer Stablecoin Addresses
Generate and manage deposit addresses scoped to an individual customer, so each customer keeps a dedicated receiving address.
All four operations are live-only — call them against api.payscribe.ng.
List Customer Deposit Addresses
List the active deposit addresses assigned to a specific customer.
GET /customers/{id}/stablecoin-addresses
Query parameters: page (default 1), limit (default 25, max 100), currency, network, chain.
curl -G https://api.payscribe.ng/api/v1/customers/cus_xyz456/stablecoin-addresses \
-H "Authorization: Bearer $PAYSCRIBE_API_KEY" \
--data-urlencode "limit=25"
200 OK returns the same shape as Get All Wallets (details = [addresses, {page, limit, count}]). Returns 404 if the customer is not found, and 422 if the customer id path segment is missing.
Create Customer Deposit Address
Generate and assign a new deposit address to a customer.
POST /customers/{id}/stablecoin-addresses
Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
currency | string | Yes | Asset code, e.g. USDT. |
network | string | Yes | Blockchain name, e.g. Tron. |
chain | string | Yes | Chain code, e.g. TRC20. |
label | string | No | Human-readable label, max 100 characters. |
curl -X POST https://api.payscribe.ng/api/v1/customers/cus_xyz456/stablecoin-addresses \
-H "Authorization: Bearer $PAYSCRIBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"currency": "USDT", "network": "Tron", "chain": "TRC20", "label": "Customer payouts"}'
200 OK returns the created address — {id, currency, network, chain, address, memo_tag, label, is_primary, status, created_at}. If an active address already exists for the same owner/currency/network/chain it is returned as "Address already existed" instead of creating a new one. Notes: creating a customer address may hold a small USD creation fee on your business balance, refunded on first use; 422 when currency/network/chain is missing or the asset is unsupported, 404 when the customer is not found.
Update Customer Deposit Address
Update the label or default flag of a customer's address.
PATCH /customers/{id}/stablecoin-addresses/{addr_id}
Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
label | string | No | New label, max 100 characters. |
is_primary | boolean | No | Make this the customer's default address for the same currency and network (clears the previous default). |
curl -X PATCH https://api.payscribe.ng/api/v1/customers/cus_xyz456/stablecoin-addresses/123 \
-H "Authorization: Bearer $PAYSCRIBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"label": "Primary payouts", "is_primary": true}'
200 OK returns the updated address as {id, address, label, is_primary, currency, network, chain, updated_at}. Returns 422 when nothing to update is provided and 404 when the address or customer is not found.
Delete Customer Deposit Address
Deactivate a customer's deposit address (soft delete — the record is kept with status: "inactive").
DELETE /customers/{id}/stablecoin-addresses/{addr_id}
curl -X DELETE https://api.payscribe.ng/api/v1/customers/cus_xyz456/stablecoin-addresses/123 \
-H "Authorization: Bearer $PAYSCRIBE_API_KEY"
200 OK returns {id, status: "inactive"}. Returns 409 if the address is already inactive or has a pending deposit order, and 404 if the address or customer is not found.
Was this page helpful?