developerayo/fireblocks-laravel-sdk
A Laravel Package for Fireblocks
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 12
Watchers: 0
Forks: 0
Open Issues: 1
pkg:composer/developerayo/fireblocks-laravel-sdk
Requires
- php: ^8.1
- firebase/php-jwt: ^6.3
- guzzlehttp/guzzle: ^7.5
- illuminate/support: ^10.0|^11.0
- nesbot/carbon: ^2.66
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0
- phpunit/phpunit: ^10.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
MIT 2e29be8a1dc57f105743d0fdd39b18e3d2e173e7
- Shodipo Ayomide<shodipovi.woop@example.com>
cryptolaravelwalletfireblocksfireblocks-sdkdeveloperayofireblocks-laravelfireblocks-api
README
A Laravel Package for working with Fireblocks API
Installation
PHP 8.1+ andComposer are required. Laravel 10+ or 11+ should be fine.
To get the latest version of Fireblocks Laravel SDK, simply require it
composer require developerayo/fireblocks-laravel-sdk
Or add the following line to the require block of yourcomposer.json
file.
"developerayo/fireblocks-laravel-sdk":"0.1.*"
Configuration
You can publish the configuration file using:
php artisan vendor:publish --provider="Developerayo\FireblocksLaravel\ServiceProvider"
A configuration-file namedfireblocks.php
with some sensible defaults will be placed in yourconfig
directory:
<?phpreturn ['api_key' =>env('FIREBLOCKS_API_KEY',''),'secret_key' =>env('FIREBLOCKS_SECRET_KEY',''),'base_path' =>env('FIREBLOCKS_BASE_PATH','https://api.fireblocks.io/v1'),'is_anonymous_platform' =>env('FIREBLOCKS_ANONYMOUS_PLATFORM',false),'user_agent' =>env('FIREBLOCKS_USER_AGENT',null),'thread_pool_size' =>env('FIREBLOCKS_THREAD_POOL_SIZE',10),'default_headers' => [],'temp_folder_path' =>env('FIREBLOCKS_TEMP_FOLDER',null),'timeout' =>env('FIREBLOCKS_TIMEOUT',30),'connect_timeout' =>env('FIREBLOCKS_CONNECT_TIMEOUT',10),'verify_ssl' =>env('FIREBLOCKS_VERIFY_SSL',true),'debug' =>env('FIREBLOCKS_DEBUG',false),];
Usage
Open your .env file and add your api key, secret key, and base path like:
FIREBLOCKS_API_KEY=xxxxxxxxFIREBLOCKS_SECRET_KEY=xxxxxxxxFIREBLOCKS_BASE_PATH=https://sandbox-api.fireblocks.io/v1FIREBLOCKS_BASE_PATH=https://api.fireblocks.io/v1
Available API Endpoints
<?phpuseFireblocks;$vaults = Fireblocks::getVaults();$transactions = Fireblocks::getTransactions();$assets = Fireblocks::getBlockchainsAssets();$externalWallets = Fireblocks::getExternalWallets();$internalWallets = Fireblocks::getInternalWallets();$exchangeAccounts = Fireblocks::getExchangeAccounts();$fiatAccounts = Fireblocks::getFiatAccounts();$networkConnections = Fireblocks::getNetworkConnections();$webhooks = Fireblocks::getWebhooks();$gasStations = Fireblocks::getGasStations();$nfts = Fireblocks::getNfts();$staking = Fireblocks::getStaking();...
Managing Assets
<?phpuseFireblocks;// get all supported assets$assetsApi = Fireblocks::getBlockchainsAssets();$supportedAssets =$assetsApi->getSupportedAssets();foreach($supportedAssetsas$asset) {echo"Asset ID:" .$asset['id'] ."\n";echo"Asset Name:" .$asset['name'] ."\n";echo"Asset Type:" .$asset['type'] ."\n";}// get your vault account assets$vaultsApi = Fireblocks::getVaults();$vaultAssets =$vaultsApi->getVaultAccountAsset($vaultAccountId,$assetId);// create a new asset wallet$vaultsApi->createVaultAccountAsset($vaultAccountId,$assetId);
Using Magic Property Access
The SDK also supports magic property access:
<?phpuseFireblocks;$vaults = Fireblocks::vaults;$transactions = Fireblocks::transactions;$webhooks = Fireblocks::webhooks;$nfts = Fireblocks::nfts;$staking = Fireblocks::staking;// use them directly$vaultAccounts = Fireblocks::vaults->getPagedVaultAccounts();$txList = Fireblocks::transactions->getTransactions();
Available Regions
SDK currently supports multiple Fireblocks regions:
useDeveloperayo\FireblocksLaravel\Config;Config::US// https://api.fireblocks.io/v1 - (default)Config::EU// https://eu-api.fireblocks.io/v1Config::EU2// https://eu2-api.fireblocks.io/v1Config::SANDBOX// https://sandbox-api.fireblocks.io/v1
Contributing
Please feel free to fork this package and contribute by submitting a pull request.
How can I thank you?
Why not star the github repo? I'd love the attention! Why not share the link for this repository on Twitter(X) or HackerNews? Spread the word!
Don't forget tofollow me on twitter!
Thanks!Shodipo Ayomide
License
The MIT License (MIT). Please seeLicense File for more information.