General FAQs
Account Setup
1. What is the difference between a user account and a customer profile?
Your user account (also called a Business Account) is the merchant-level account that you operate directly. It holds your own funds and is used for your business operations.
Customer profiles are sub-accounts you create via API to represent your end users. They allow you to track deposits, payouts, and compliance per individual end user.
| User Account | Customer Profile | |
|---|---|---|
| Who it represents | Your business | Your end user |
| Created via | StraitsX onboarding | POST /v1/customer_profiles API |
| Has own VA | Yes | Yes |
| KYC required | Yes (your business KYC) | Depends on CP type (CP or CP+) |
2. When should I use customer profiles?
Customer profiles are useful when you need to:
- Collect payments or make payouts on behalf of your end users
- Assign individual virtual bank accounts or PayNow QR codes per user
- Manage per-user compliance (KYC/KYB) requirements
- Track transaction history and limits per end user
Customer profiles can be used in both first-party and third-party integration models. If you only need to move your own funds without per-user tracking, you can operate with your user account alone.
3. Can I use both my user account and customer profiles at the same time?
Yes. Many merchants use their user account for their own treasury operations (e.g. receiving settlements, making payouts) while also creating customer profiles for their end users. The two work independently under the same Business Account.
API Access & Keys
4. How do I get access to your API?
| Environment | Access Level | Requirements |
|---|---|---|
| Sandbox(Testing mode) | ✅ By default, the Developer Tools menu is visible. ✅ By default, most APIs are available. 🚧 Specialized APIs require additional approval. | 1️⃣ Sign up for a StraitsX Business Account and Log in. 2️⃣ Switch to Sandbox Mode. 3️⃣ Log in to the StraitsX Developer Dashboard. 4️⃣ Generate an API key under Developer Tools. 5️⃣ Contact StraitsX for specialized API access if needed. |
| Production(Live mode) | ❌ By default, the Developer Tools menu is hidden. ❌ No default access – All APIs require permission. ✅ Must complete KYC (Know Your Customer) verification. | 1️⃣ Complete business verification & KYC onboarding. 2️⃣ Request API access approval from StraitsX. 3️⃣ Once approved, generate an API key in Developer Tools. |
Click on "Switch to Sandbox Mode":

Click on "Developer Tools" and your API will be there:

5. What is the API key expiry date?
The API keys are valid for 6 months. You may check when it expires on your dashboard.
6. Will I receive a reminder before my API key expires?
Yes, we will send you an email reminder 14 and 30 days in advance. Owner, Admin and Developer roles will receive this email.
7. How often does StraitsX update its API?
We continuously improve our API, and major updates are announced in our StraitsX Changelog.
Payment Methods & Currencies
8. Does your API support multiple payment methods (e.g., credit cards, bank transfers, digital wallets)?
Our API supports bank transfer through the creation of a virtual bank account or PayNow, depending on the currency of the transaction.
9. Does the API support multi-currency transactions?
Right now, our API supports transactions in USD and SGD as base currencies for deposits and payouts.
Additionally, you can:
- Swap between supported stablecoins (e.g. USDT → XUSD) via the Swap API
- FX Payout to convert USD to other currencies (e.g. IDR) at disbursement time via the FX Payout API
10. Can I use multiple APIs together?
Yes, our APIs are designed to be modular. For example, if your use case requires it, it is possible to use the First-Party Payment API coupled with the Third-Party Payout API. If you are not sure which APIs your use case requires, contact our sales team.
Pricing & Fees
11. What are the costs associated with using this API?
Pricing is customized based on your business needs, transaction volume, and integration requirements. To get a personalized pricing quote, please contact our sales team.
12. Are there additional fees for certain features or transactions?
Likewise, to get a personalized pricing quote, please contact our sales team.
13. Are there penalties for failed transactions?
No penalties apply for failed transactions, but frequent failures due to incorrect inputs may trigger fraud prevention checks.
14. Will there be an invoice for fees deducted?
No, if it's deducted on a per transaction basis.
Technical
15. How do I handle API rate limits?
If you exceed rate limits, your API requests may be throttled temporarily. Optimize API usage by:
- Using batch requests instead of multiple single requests.
- Caching frequent API responses instead of repeatedly fetching the same data.
16. How often does StraitsX retry callbacks?
If the client side is down, we retry with increasing intervals, up to a maximum of 20 attempts.
17. What is the supported image file format and upload size?
We support PNG, JPG and PDF at 10MB per HTTPS request.
User Roles & Permissions
18. What are the different users in your StraitsX Business Account?
For the different roles, you may refer to this link.
19. What are the permissions for different users?
| Owner | Admin | Developer | Viewer | |
|---|---|---|---|---|
| Generate Key | ✅ | ✅ | ✅ | ❌ |
| Add Member | ✅ | ✅ | ❌ | ❌ |
| Initiate Transactions | ✅ | ✅ | ❌ | ❌ |
Compliance & Restrictions
20. Are there any country restrictions on the services you provide?
Yes, you may refer to this for the list of restricted countries.
21. Are there any types of businesses you're unable to support?
Yes, you may refer to this for the list of restricted businesses.
Contracts
22. What are the different contract types?
| Contract Type | Description |
|---|---|
| AccountBalanceMigrationContract | User balance migration |
| AdminContract | Transfers triggered by our internal operations team |
| FiatDepositContract | Incoming fiat transactions via dashboard |
| FiatWithdrawContract | Outgoing fiat transactions via dashboard |
| FiatPaymentContract | Incoming fiat transactions via API |
| FiatPayoutContract | Outgoing fiat transactions via API |
| FiatRefundContract | SGD/USD Refunds triggered by our internal operations team |
| OtcContract | OTC transactions |
| StablecoinBalanceMigrationContract | Used when migrating users from our old to new system |
| StablecoinDepositContract | Incoming blockchain transfers |
| StablecoinWithdrawContract | Outgoing blockchain transfers |
| SwapContract | Swap transaction |
| TransferContract | Crediting or debiting of transfer balance to user's wallet after the transaction passes compliance approval |
Updated 7 days ago

