brian978 / kraken-api-client
Unofficial API client for Kraken Exchange
dev-main
2022-03-08 18:58 UTC
Requires
- php: 7.4.*|8.*
- ext-json: *
- composer/ca-bundle: ^1.3
- guzzlehttp/guzzle: ^7.4
- psr/log: ^1.1.4
- symfony/rate-limiter: ^6.0
Requires (Dev)
- monolog/monolog: ^2.3
This package is auto-updated.
Last update: 2024-10-09 00:30:33 UTC
README
Unofficial API client written in PHP for Kraken Exchange
Documentation
Main features
- Compatible with any framework
- Compatible with any logger library that implements
Psr\Log\LoggerInterface
- It provides an easy-to-use interface with the API using the *Query classes that are provided
- The API parameter documentation can be found in the PHPDoc of each query object for easy use
Not supported (yet!)
- User trading endpoints
- User funding endpoints
- User staking endpoints
How to contribute to the project
If we are talking about a new feature, then an issue needs to be opened in order to discuss it. And after that proceed to the steps below.
If it's a BUG see the steps below
Steps to update the code
- Write the code in a new branch (see HERE for more info)
- Make sure it's PSR-12 compliant and all the code and comments ar properly aligned
- Make a PR
Configuration examples
Symfony
In your .env config file
###> brian978/kraken-api-client ###
KRAKEN_API_KEY=<your_key>
KRAKEN_API_SECRET=<your_secret>==
###< brian978/kraken-api-client ###
In your services.yaml
# KrakenApi namespace auto-wire KrakenApi\: resource: '../vendor/brian978/kraken-api-client/src/' # Kraken API rate limiter app.limiter.storage.kraken_api: class: Symfony\Component\RateLimiter\Storage\CacheStorage KrakenApi\RateLimiter\RateLimiter: shared: false arguments: - '@app.limiter.storage.kraken_api' - '@lock.default.factory' # Kraken API client app.krakenHttp.client: class: GuzzleHttp\Client arguments: - { base_uri: 'https://api.kraken.com' } KrakenApi\Client: class: KrakenApi\Client arguments: - '@app.krakenHttp.client' - '@KrakenApi\RateLimiter\RateLimiter' - '%env(resolve:KRAKEN_API_KEY)%' - '%env(resolve:KRAKEN_API_SECRET)%' calls: - setLogger: [ '@logger' ]