Developers & API
MoneyTrans® exposes a REST-first API for wallets, transfers, beneficiaries, payouts, and webhooks. Build with us via the documentation below.
API basics
REST + JSON
Predictable, resource-oriented URLs. JSON request and response bodies. Standard HTTP verbs and status codes.
Versioning
Versioned routes (currently v1). Breaking changes ship under a new version with deprecation notices.
Idempotency
Mutating endpoints accept an Idempotency-Key header so retries never double-execute.
Pagination
Cursor-based pagination for list endpoints. Includes total counts where relevant.
Error format
Consistent shape: { code, message, details } with a documented catalog of error codes.
Time & money
Timestamps are ISO-8601 UTC. Monetary values are minor units (integers) plus an ISO-4217 currency.
Authentication
Authenticate every request with a bearer API key. Keys are scoped to environment (sandbox / production) and to specific abilities.
Bearer tokens
Authorization: Bearer mt_live_… or mt_test_… on every request.
Scopes
Each key carries an explicit scope set (wallets:read, transfers:write, webhooks:manage, etc.).
Rotation
Keys can be rotated and revoked from the dashboard. Audit trail of who created / used each key.
Webhook signatures
Every webhook is signed with HMAC-SHA256. Verify the X-MT-Signature header before processing.
curl https://moneytrans.com/api/v1/wallets \
-H "Authorization: Bearer mt_live_..." \
-H "Idempotency-Key: 8f1a2c…" \
-H "Content-Type: application/json"Environments
Two isolated environments. Use sandbox for development, staging, and CI; production for live money movement.
| Environment | Base URL | Key prefix | Notes |
|---|---|---|---|
| Sandbox | sandbox.moneytrans.com | mt_test_… | Synthetic / test data, no real money movement. |
| Production | moneytrans.com | mt_live_… | Real customers, real funds, real partners. |
Core resources
The building blocks of the API. Each resource is documented in detail in the API reference.
Wallets
Create and manage multi-currency wallets per user, partner, or tenant. Balances, holds, and ledger entries.
Transfers
Initiate wallet-to-wallet, ACH, RTP, push-to-card, and international transfers. Status, hooks, and reversals.
Beneficiaries
Save and reuse recipient details (bank, card, mobile-money, wallet handle). Pre-validated and screened.
Funding Sources
Linked partner bank accounts and cards used to fund transfers. Verification flows handled by the platform.
Quotes & FX
Indicative quotes with locked-in rates for short windows. Pin rates per transfer or per session.
Webhooks
Subscribe to events: transfer.completed, transfer.held, kyc.updated, payout.failed, and more.
Webhooks
Receive real-time event notifications at HTTPS endpoints you control.
- Configurable per-event subscriptions
- HMAC-SHA256 signature on every payload
- Automatic retries with exponential backoff for failed deliveries
- Replay tooling for missed events from the dashboard
- Documented event catalog with example payloads
SDKs & tooling
Official SDKs in the works for the most common stacks. The REST API is fully usable today with cURL or any HTTP client.
| SDK / Tool | Status | Notes |
|---|---|---|
| Python | Planned | moneytrans — pip-installable, sync and async clients. |
| Postman | Available | Public Postman collection mirroring the OpenAPI spec. |
| OpenAPI / Swagger | Available | Machine-readable schema at /api/docs/schema/ for codegen. |
Rate limits & quotas
- Per-key rate limits with X-RateLimit-* response headers
- Burst allowance with token-bucket refill
- Separate quotas for read, write, and webhook-management endpoints
- Higher quotas available on request for production partners
Status & changelog
Stay informed about platform health and what's shipping.
Status page
Live availability and incident history for sandbox and production.
Changelog
Curated list of API additions, breaking changes, and deprecations with effective dates.
Ready to build?
Browse the full reference or get in touch for sandbox access and an integration kick-off.