Unofficial API client written in PHP for Kraken Exchange
- 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
- User trading endpoints
- User funding endpoints
- User staking endpoints
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
- 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
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' ]