Overview
VALR is a cryptocurrency exchange platform established in South Africa, providing services for buying, selling, and trading digital assets. The platform caters to both individual and institutional clients, offering a range of financial products beyond basic spot trading.
Key offerings include spot trading for various cryptocurrency pairs, allowing users to exchange one digital asset for another at current market prices. For more experienced traders, VALR also provides derivatives trading, which enables speculation on future price movements without owning the underlying asset directly.
Beyond trading, VALR offers Earn products, designed to allow users to generate yield on their cryptocurrency holdings through staking or other mechanisms. The platform also features VALR Pay, a solution intended for instant, zero-fee cryptocurrency payments between VALR users, which can serve as a payment gateway for businesses or for peer-to-peer transfers.
VALR's operational framework is regulated by the Financial Sector Conduct Authority (FSCA) in South Africa, addressing compliance requirements for financial service providers in the region. This regulatory oversight positions VALR as a platform for users prioritizing adherence to local financial regulations.
For developers and algorithmic traders, VALR provides a comprehensive API. This includes both RESTful and WebSocket connections, supporting automated trading strategies across spot and derivatives markets. The API documentation includes code examples in languages such as Python and Node.js, facilitating integration for high-frequency trading and other automated processes. The platform's emphasis on API accessibility makes it suitable for technical users seeking direct market access and custom trading solutions.
Key features
- Spot Trading: Allows users to buy and sell various cryptocurrencies at market rates, supporting direct exchanges between digital assets and fiat currency.
- Derivatives Trading: Provides access to financial instruments like futures and options, enabling advanced trading strategies based on cryptocurrency price movements without direct ownership.
- Earn Products: Offers opportunities for users to generate returns on their crypto holdings through mechanisms such as staking and lending, as described on the VALR Earn page.
- VALR Pay: Facilitates instant, fee-free cryptocurrency payments between VALR users, suitable for both personal and business transactions.
- Comprehensive API: Features both REST and WebSocket APIs for programmatic access to trading, market data, and account management functionalities, supporting high-frequency trading.
- Multi-language SDKs: Software Development Kits are available in Python, Node.js, and Java to simplify API integration.
- FSCA Regulation: Operates under the regulatory oversight of the Financial Sector Conduct Authority (FSCA) in South Africa, providing a regulated trading environment.
Pricing
VALR employs a tiered fee structure for trading, which varies based on a user's 30-day trading volume. The fees are separated into maker and taker fees, with derivatives having a distinct schedule from spot trading. Account creation is free, and there is no explicit subscription fee for accessing the platform or its APIs.
| Product | 30-Day Trading Volume (ZAR) | Maker Fee | Taker Fee |
|---|---|---|---|
| Spot Trading | < R 1,000,000 | 0.10% | 0.20% |
| Spot Trading | R 1,000,000 - R 5,000,000 | 0.08% | 0.18% |
| Spot Trading | R 5,000,000 - R 10,000,000 | 0.06% | 0.16% |
| Spot Trading | > R 10,000,000 | Varies (lower) | Varies (lower) |
| Derivatives Trading | < R 1,000,000 | 0.02% | 0.05% |
| Derivatives Trading | R 1,000,000 - R 5,000,000 | 0.015% | 0.04% |
Further details on specific volume tiers and corresponding fee reductions are available on the VALR Fees page. Withdrawal fees for various cryptocurrencies and fiat are also listed there.
Common integrations
VALR's API supports direct integration with various financial tools and systems for automated trading and data analysis. While VALR does not list pre-built integrations with third-party platforms, its API allows for custom development:
- Algorithmic Trading Bots: Developers can build custom trading algorithms using the REST API for order placement and the WebSocket API for real-time market data.
- Portfolio Management Tools: Integration with personal or institutional portfolio trackers to monitor balances, transaction history, and performance via API calls.
- Data Analytics Platforms: Exporting historical market data and trade logs for in-depth analysis and strategy backtesting.
- Payment Gateways: Businesses can integrate VALR Pay to accept cryptocurrency payments directly, as outlined on the VALR Pay information page.
Alternatives
For users seeking cryptocurrency exchange services, several alternatives exist, both locally and internationally:
- Luno: A cryptocurrency exchange with a significant presence in South Africa, offering simplified buying and selling of popular cryptocurrencies. Luno also provides an API for developers.
- Binance: A global cryptocurrency exchange known for its wide range of supported cryptocurrencies, extensive trading pairs, and advanced trading features, including a comprehensive API suite.
- Coinbase: A U.S.-based cryptocurrency exchange providing services for buying, selling, transferring, and storing digital currency, with a focus on user experience and regulatory compliance in its operating regions. Coinbase also offers a developer API.
Getting started
To get started with the VALR API, you typically need to create an account, generate API keys, and then use your preferred SDK or direct HTTP requests to interact with the platform. Below is a Python example demonstrating how to retrieve account balances using the VALR Python SDK.
First, ensure you have the VALR Python SDK installed:
pip install valr-python
Then, you can use the following Python code snippet, replacing YOUR_API_KEY and YOUR_API_SECRET with your actual VALR API credentials. These can be generated within your VALR account settings, as specified in the VALR authentication guide.
from valr_python import Client
# Replace with your actual API Key and Secret
API_KEY = "YOUR_API_KEY"
API_SECRET = "YOUR_API_SECRET"
# Initialize the VALR client
client = Client(api_key=API_KEY, api_secret=API_SECRET)
def get_account_balances():
try:
# Fetch all account balances
balances = client.get_all_account_balances()
print("Account Balances:")
for balance in balances:
print(f" {balance['currency']}: Available={balance['available']}, Reserved={balance['reserved']}")
except Exception as e:
print(f"An error occurred: {e}")
if __name__ == "__main__":
get_account_balances()
This script initializes the VALR client with your credentials and then calls the get_all_account_balances() method to retrieve and print your available and reserved balances for all supported currencies. For more complex operations like placing orders or accessing derivative markets, refer to the full VALR API documentation.