{"id":22437026,"url":"https://github.com/blockfrost/blockfrost-swift","last_synced_at":"2025-08-01T15:31:58.030Z","repository":{"id":37008090,"uuid":"390707055","full_name":"blockfrost/blockfrost-swift","owner":"blockfrost","description":"Swift SDK for Blockfrost.io API","archived":false,"fork":false,"pushed_at":"2022-06-20T13:22:43.000Z","size":298,"stargazers_count":11,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-30T20:51:51.382Z","etag":null,"topics":["api","blockchain","blockfrost","cardano","ipfs","swift"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blockfrost.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-29T11:51:20.000Z","updated_at":"2024-05-30T11:39:34.000Z","dependencies_parsed_at":"2022-07-26T08:47:57.731Z","dependency_job_id":null,"html_url":"https://github.com/blockfrost/blockfrost-swift","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockfrost%2Fblockfrost-swift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockfrost%2Fblockfrost-swift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockfrost%2Fblockfrost-swift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blockfrost%2Fblockfrost-swift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blockfrost","download_url":"https://codeload.github.com/blockfrost/blockfrost-swift/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228389159,"owners_count":17912189,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","blockchain","blockfrost","cardano","ipfs","swift"],"created_at":"2024-12-06T00:10:48.846Z","updated_at":"2024-12-06T00:10:49.479Z","avatar_url":"https://github.com/blockfrost.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://blockfrost.io/images/logo.svg\" width=\"250\" align=\"right\" height=\"90\"\u003e\n\n# Swift5 API client for Blockfrost\n![CI badge](https://github.com/blockfrost/blockfrost-swift/actions/workflows/test.yml/badge.svg)\n\n\u003cbr/\u003e\n\n\u003cp align=\"center\"\u003eSwift 5.7 SDK for \u003ca href=\"https://blockfrost.io\"\u003eBlockfrost.io\u003c/a\u003e API.\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e •\n  \u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e •\n  \u003ca href=\"#api-endpoints\"\u003eAPI Endpoints\u003c/a\u003e\n\u003c/p\u003e\n\u003cbr\u003e\n\n## Installation\n\n### Swift package manager\n```\ndependencies: [\n    .package(url: \"https://github.com/blockfrost/blockfrost-swift.git\", from: \"1.0.1\"),\n],\n\ntargets: [\n    .executableTarget(\n        name: \"Example\",\n        dependencies: [\n            .product(name: \"BlockfrostSwiftSDK\", package: \"blockfrost-swift\"),\n        ]),\n]\n```\n\n### Carthage\n\nRun `carthage update`\n\nCartfile\n```\ngithub \"blockfrost/blockfrost-swift\" ~\u003e 1.0.1\n```\n\n### CocoaPods\n         \nMinimal pod version: 1.10+\nRun `pod install`\n       \nPodfile:\n```\npod 'BlockfrostSwiftSDK', '~\u003e 1.0.1'\n```\n\nOr use GitHub, by tag:\n```\npod 'BlockfrostSwiftSDK', :git =\u003e 'https://github.com/blockfrost/blockfrost-swift.git', :tag =\u003e '1.0.1'\n```\n\nor by branch:\n```\npod 'BlockfrostSwiftSDK', :git =\u003e 'https://github.com/blockfrost/blockfrost-swift.git', :branch =\u003e 'master'\n```\n\n## Usage\n      \nAPI provides the following call approaches:\n- a simple completion callbacks, returning `Swift.Result\u003cR, Error\u003e`, where `R` is defined by a particular API call.\n- [async-await](https://docs.swift.org/swift-book/LanguageGuide/Concurrency.html) oriented calls \n\n```swift\n// import the SDK on the beginning of the file\nimport BlockfrostSwiftSDK\n\n// define project-wide settings\nBlockfrostStaticConfig.basePath = \"https://cardano-mainnet.blockfrost.io/api/v0\"  // or leave default\nBlockfrostStaticConfig.projectId = \"your-project-id\"\nlet api = CardanoAddressesAPI()\n\n_ = api.getAddressDetails(address: \"addr1q8zu4smzyf2r2mfqjd6tc6vxf2p8rccdfk82ye3eut2udkw9etpkygj5x4kjpym5h35cvj5zw83s6nvw5fnrnck4cmvshkfm4y\") { resp in\n    switch (resp) {\n    case let .failure(err):\n        // TODO: handle error here, `err` contains the error \n        break\n    case let .success(r):\n        // `r` contains result of the call, here, it is of type `AddressContentTotal`\n        break\n    }\n}\n```\n\nAsync-await interface:\n```swift\ndo {\n    let result = try await getAddressDetailsAsync()\n} catch let error {\n    // handle error\n}\n```\n\n        \nProject ID can be loaded from env\n```swift\nBlockfrostStaticConfig.projectId = BlockfrostConfig.getEnvProjectId()  // BF_PROJECT_ID\nBlockfrostStaticConfig.projectId = BlockfrostConfig.getEnvProjectIdMainnet()  // BF_MAINNET_PROJECT_ID\nBlockfrostStaticConfig.projectId = BlockfrostConfig.getEnvProjectIdTestnet()  // BF_TESTNET_PROJECT_ID\nBlockfrostStaticConfig.projectId = BlockfrostConfig.getEnvIpfsProjectId()  // BF_IPFS_PROJECT_ID\n```\n        \nDefault configuration for testnet, project ID is loaded from env var `BF_TESTNET_PROJECT_ID`\n```swift\nlet apiAdd = CardanoAddressesAPI(config: BlockfrostConfig.testnetDefault())\n```\n        \nDefault configuration for IPFS, project ID is loaded from env var `BF_IPFS_PROJECT_ID`\n```swift\nlet ipfsAdd = IPFSAddAPI(config: BlockfrostConfig.ipfsDefault())\n```\n        \nYou can also define API-specific configuration\n```swift\nlet config = BlockfrostConfig()\nconfig.basePath = BlockfrostConfig.URL_IPFS\nconfig.projectId = BlockfrostConfig.getEnvIpfsProjectId()\nconfig.retryPolicy = BlockfrostRetryPolicy(retryLimit: 10)    // specify custom retry policy\n\nlet ipfsAdd = apiAdd = IPFSAddAPI(config: cfg)\n```\n\nCheck out [Example application](Example) or [integration tests](Tests/blockfrost-tests/) for more usage examples.\n      \n### Fetch All methods\nMethods with paging parameters (count, page, order) have paging methods enabling to load all results, iterating over all pages in the background.\nThe method returns list of all results once all pages have been downloaded.\n\n```swift\nlet _ = api.getAssetHistoryAll(asset: \"d894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a07370616365636f696e73\") { resp in\n    switch (resp) {\n    case let .failure(err):\n        // TODO: handle error here, `err` contains the error \n        break\n    case let .success(r):\n        // `r` contains result of the call, here, it is of type `AddressContentTotal`\n        break\n    }\n}\n```\n\n### Advanced Fetch all\nTo use more advanced load-all-pages technique, you can use [PageLoader](BlockfrostSwiftSDK/Classes/OpenAPIs/PageLoader.swift) class.               \n\n```swift\nlet loader = PageLoader\u003cAssetHistory\u003e(batchSize: 10)\nloader.loadAll({ count, page, compl in\n    // PageLoader uses lambda to load particular page\n    _ = api.getAssetHistory(asset: asset, count: count, page: page, order: order, apiResponseQueue: apiResponseQueue, completion: compl)\n}, completion: { compl in\n    // Completion handler once all pages are loaded\n    // TODO: handle the results\n})\n```\n   \nYou can handle event handler to get new page results as they are loaded:\n```swift\nloader.progressHandler = { event in\n    switch(event){\n    case .started: break\n    case let .pageLoaded(page):\n        print(page)  // new page loaded, type: (Int, [T]) ~ page ID and list of results               \n        break\n    case .completed(_):\n        break\n    }\n}\n```\n                                                \nYou can also cancel further loading:\n```swift\nDispatchQueue.global().async { loader.cancel() }\n```\n\n## API Endpoints\n\nClass | Method | HTTP request | Description\n------------ | ------------- | ------------- | -------------\n*CardanoAccountsAPI* | [**getAccountAddresses**](docs/CardanoAccountsAPI.md#getaccountaddresses) | **GET** /accounts/{stake_address}/addresses | Account associated addresses\n*CardanoAccountsAPI* | [**getAccountAssets**](docs/CardanoAccountsAPI.md#getaccountassets) | **GET** /accounts/{stake_address}/addresses/assets | Assets associated with the account addresses\n*CardanoAccountsAPI* | [**getAccountByStakeAddress**](docs/CardanoAccountsAPI.md#getaccountbystakeaddress) | **GET** /accounts/{stake_address} | Specific account address\n*CardanoAccountsAPI* | [**getAccountDelegationHistory**](docs/CardanoAccountsAPI.md#getaccountdelegationhistory) | **GET** /accounts/{stake_address}/delegations | Account delegation history\n*CardanoAccountsAPI* | [**getAccountHistory**](docs/CardanoAccountsAPI.md#getaccounthistory) | **GET** /accounts/{stake_address}/history | Account history\n*CardanoAccountsAPI* | [**getAccountMirHistory**](docs/CardanoAccountsAPI.md#getaccountmirhistory) | **GET** /accounts/{stake_address}/mirs | Account MIR history\n*CardanoAccountsAPI* | [**getAccountRegistrationHistory**](docs/CardanoAccountsAPI.md#getaccountregistrationhistory) | **GET** /accounts/{stake_address}/registrations | Account registration history\n*CardanoAccountsAPI* | [**getAccountRewardHistory**](docs/CardanoAccountsAPI.md#getaccountrewardhistory) | **GET** /accounts/{stake_address}/rewards | Account reward history\n*CardanoAccountsAPI* | [**getAccountWithdrawalHistory**](docs/CardanoAccountsAPI.md#getaccountwithdrawalhistory) | **GET** /accounts/{stake_address}/withdrawals | Account withdrawal history\n*CardanoAddressesAPI* | [**getAddress**](docs/CardanoAddressesAPI.md#getaddress) | **GET** /addresses/{address} | Specific address\n*CardanoAddressesAPI* | [**getAddressDetails**](docs/CardanoAddressesAPI.md#getaddressdetails) | **GET** /addresses/{address}/total | Address details\n*CardanoAddressesAPI* | [**getAddressTransactions**](docs/CardanoAddressesAPI.md#getaddresstransactions) | **GET** /addresses/{address}/transactions | Address transactions\n*CardanoAddressesAPI* | [**getAddressTxs**](docs/CardanoAddressesAPI.md#getaddresstxs) | **GET** /addresses/{address}/txs | Address transactions\n*CardanoAddressesAPI* | [**getAddressUtxos**](docs/CardanoAddressesAPI.md#getaddressutxos) | **GET** /addresses/{address}/utxos | Address UTXOs\n*CardanoAssetsAPI* | [**getAsset**](docs/CardanoAssetsAPI.md#getasset) | **GET** /assets/{asset} | Specific asset\n*CardanoAssetsAPI* | [**getAssetAddresses**](docs/CardanoAssetsAPI.md#getassetaddresses) | **GET** /assets/{asset}/addresses | Asset addresses\n*CardanoAssetsAPI* | [**getAssetHistory**](docs/CardanoAssetsAPI.md#getassethistory) | **GET** /assets/{asset}/history | Asset history\n*CardanoAssetsAPI* | [**getAssetTransactions**](docs/CardanoAssetsAPI.md#getassettransactions) | **GET** /assets/{asset}/transactions | Asset transactions\n*CardanoAssetsAPI* | [**getAssetTxs**](docs/CardanoAssetsAPI.md#getassettxs) | **GET** /assets/{asset}/txs | Asset transactions\n*CardanoAssetsAPI* | [**getAssets**](docs/CardanoAssetsAPI.md#getassets) | **GET** /assets | Assets\n*CardanoAssetsAPI* | [**getPolicyAssets**](docs/CardanoAssetsAPI.md#getpolicyassets) | **GET** /assets/policy/{policy_id} | Assets of a specific policy\n*CardanoBlocksAPI* | [**getBlock**](docs/CardanoBlocksAPI.md#getblock) | **GET** /blocks/{hash_or_number} | Specific block\n*CardanoBlocksAPI* | [**getBlockInEpochInSlot**](docs/CardanoBlocksAPI.md#getblockinepochinslot) | **GET** /blocks/epoch/{epoch_number}/slot/{slot_number} | Specific block in a slot in an epoch\n*CardanoBlocksAPI* | [**getBlockInSlot**](docs/CardanoBlocksAPI.md#getblockinslot) | **GET** /blocks/slot/{slot_number} | Specific block in a slot\n*CardanoBlocksAPI* | [**getBlockTransactions**](docs/CardanoBlocksAPI.md#getblocktransactions) | **GET** /blocks/{hash_or_number}/txs | Block transactions\n*CardanoBlocksAPI* | [**getLatestBlock**](docs/CardanoBlocksAPI.md#getlatestblock) | **GET** /blocks/latest | Latest block\n*CardanoBlocksAPI* | [**getNextBlocks**](docs/CardanoBlocksAPI.md#getnextblocks) | **GET** /blocks/{hash_or_number}/next | Listing of next blocks\n*CardanoBlocksAPI* | [**getPreviousBlocks**](docs/CardanoBlocksAPI.md#getpreviousblocks) | **GET** /blocks/{hash_or_number}/previous | Listing of previous blocks\n*CardanoBlocksAPI* | [**getTransactionsInLatestBlock**](docs/CardanoBlocksAPI.md#gettransactionsinlatestblock) | **GET** /blocks/latest/txs | Latest block transactions\n*CardanoEpochsAPI* | [**getActiveStakesForEpoch**](docs/CardanoEpochsAPI.md#getactivestakesforepoch) | **GET** /epochs/{number}/stakes | Stake distribution\n*CardanoEpochsAPI* | [**getActiveStakesForEpochAndPool**](docs/CardanoEpochsAPI.md#getactivestakesforepochandpool) | **GET** /epochs/{number}/stakes/{pool_id} | Stake distribution by pool\n*CardanoEpochsAPI* | [**getBlocksForEpoch**](docs/CardanoEpochsAPI.md#getblocksforepoch) | **GET** /epochs/{number}/blocks | Block distribution\n*CardanoEpochsAPI* | [**getBlocksForEpochAndPool**](docs/CardanoEpochsAPI.md#getblocksforepochandpool) | **GET** /epochs/{number}/blocks/{pool_id} | Block distribution by pool\n*CardanoEpochsAPI* | [**getEpoch**](docs/CardanoEpochsAPI.md#getepoch) | **GET** /epochs/{number} | Specific epoch\n*CardanoEpochsAPI* | [**getEpochParam**](docs/CardanoEpochsAPI.md#getepochparam) | **GET** /epochs/{number}/parameters | Protocol parameters\n*CardanoEpochsAPI* | [**getLatestEpoch**](docs/CardanoEpochsAPI.md#getlatestepoch) | **GET** /epochs/latest | Latest epoch\n*CardanoEpochsAPI* | [**getLatestEpochParam**](docs/CardanoEpochsAPI.md#getlatestepochparam) | **GET** /epochs/latest/parameters | Latest epoch protocol parameters\n*CardanoEpochsAPI* | [**getNextEpochs**](docs/CardanoEpochsAPI.md#getnextepochs) | **GET** /epochs/{number}/next | Listing of next epochs\n*CardanoEpochsAPI* | [**getPreviousEpochs**](docs/CardanoEpochsAPI.md#getpreviousepochs) | **GET** /epochs/{number}/previous | Listing of previous epochs\n*CardanoLedgerAPI* | [**getGenesis**](docs/CardanoLedgerAPI.md#getgenesis) | **GET** /genesis | Blockchain genesis\n*CardanoMetadataAPI* | [**getTransactionMetadataCborForLabel**](docs/CardanoMetadataAPI.md#gettransactionmetadatacborforlabel) | **GET** /metadata/txs/labels/{label}/cbor | Transaction metadata content in CBOR\n*CardanoMetadataAPI* | [**getTransactionMetadataJsonForLabel**](docs/CardanoMetadataAPI.md#gettransactionmetadatajsonforlabel) | **GET** /metadata/txs/labels/{label} | Transaction metadata content in JSON\n*CardanoMetadataAPI* | [**getTransactionMetadataLabels**](docs/CardanoMetadataAPI.md#gettransactionmetadatalabels) | **GET** /metadata/txs/labels | Transaction metadata labels\n*CardanoNetworkAPI* | [**getNetwork**](docs/CardanoNetworkAPI.md#getnetwork) | **GET** /network | Network information\n*CardanoPoolsAPI* | [**getPool**](docs/CardanoPoolsAPI.md#getpool) | **GET** /pools/{pool_id} | Specific stake pool\n*CardanoPoolsAPI* | [**getPoolBlocks**](docs/CardanoPoolsAPI.md#getpoolblocks) | **GET** /pools/{pool_id}/blocks | Stake pool blocks\n*CardanoPoolsAPI* | [**getPoolDelegators**](docs/CardanoPoolsAPI.md#getpooldelegators) | **GET** /pools/{pool_id}/delegators | Stake pool delegators\n*CardanoPoolsAPI* | [**getPoolHistory**](docs/CardanoPoolsAPI.md#getpoolhistory) | **GET** /pools/{pool_id}/history | Stake pool history\n*CardanoPoolsAPI* | [**getPoolMetadata**](docs/CardanoPoolsAPI.md#getpoolmetadata) | **GET** /pools/{pool_id}/metadata | Stake pool metadata\n*CardanoPoolsAPI* | [**getPoolRelays**](docs/CardanoPoolsAPI.md#getpoolrelays) | **GET** /pools/{pool_id}/relays | Stake pool relays\n*CardanoPoolsAPI* | [**getPoolUpdates**](docs/CardanoPoolsAPI.md#getpoolupdates) | **GET** /pools/{pool_id}/updates | Stake pool updates\n*CardanoPoolsAPI* | [**getPools**](docs/CardanoPoolsAPI.md#getpools) | **GET** /pools | List of stake pools\n*CardanoPoolsAPI* | [**getRetiredPools**](docs/CardanoPoolsAPI.md#getretiredpools) | **GET** /pools/retired | List of retired stake pools\n*CardanoPoolsAPI* | [**getRetiringPools**](docs/CardanoPoolsAPI.md#getretiringpools) | **GET** /pools/retiring | List of retiring stake pools\n*CardanoScriptsAPI* | [**getScript**](docs/CardanoScriptsAPI.md#getscript) | **GET** /scripts/{script_hash} | Specific script\n*CardanoScriptsAPI* | [**getScriptRedeemers**](docs/CardanoScriptsAPI.md#getscriptredeemers) | **GET** /scripts/{script_hash}/redeemers | Redeemers of a specific script\n*CardanoScriptsAPI* | [**getScripts**](docs/CardanoScriptsAPI.md#getscripts) | **GET** /scripts | Scripts\n*CardanoTransactionsAPI* | [**getTransaction**](docs/CardanoTransactionsAPI.md#gettransaction) | **GET** /txs/{hash} | Specific transaction\n*CardanoTransactionsAPI* | [**getTransactionDelegations**](docs/CardanoTransactionsAPI.md#gettransactiondelegations) | **GET** /txs/{hash}/delegations | Transaction delegation certificates\n*CardanoTransactionsAPI* | [**getTransactionMetadata**](docs/CardanoTransactionsAPI.md#gettransactionmetadata) | **GET** /txs/{hash}/metadata | Transaction metadata\n*CardanoTransactionsAPI* | [**getTransactionMetadataCbor**](docs/CardanoTransactionsAPI.md#gettransactionmetadatacbor) | **GET** /txs/{hash}/metadata/cbor | Transaction metadata in CBOR\n*CardanoTransactionsAPI* | [**getTransactionMirs**](docs/CardanoTransactionsAPI.md#gettransactionmirs) | **GET** /txs/{hash}/mirs | Transaction MIRs\n*CardanoTransactionsAPI* | [**getTransactionPoolRetires**](docs/CardanoTransactionsAPI.md#gettransactionpoolretires) | **GET** /txs/{hash}/pool_retires | Transaction stake pool retirement certificates\n*CardanoTransactionsAPI* | [**getTransactionPoolUpdates**](docs/CardanoTransactionsAPI.md#gettransactionpoolupdates) | **GET** /txs/{hash}/pool_updates | Transaction stake pool registration and update certificates\n*CardanoTransactionsAPI* | [**getTransactionRedeemers**](docs/CardanoTransactionsAPI.md#gettransactionredeemers) | **GET** /txs/{hash}/redeemers | Transaction redeemers\n*CardanoTransactionsAPI* | [**getTransactionStakes**](docs/CardanoTransactionsAPI.md#gettransactionstakes) | **GET** /txs/{hash}/stakes | Transaction stake addresses certificates\n*CardanoTransactionsAPI* | [**getTransactionUtxos**](docs/CardanoTransactionsAPI.md#gettransactionutxos) | **GET** /txs/{hash}/utxos | Transaction UTXOs\n*CardanoTransactionsAPI* | [**getTransactionWithdrawals**](docs/CardanoTransactionsAPI.md#gettransactionwithdrawals) | **GET** /txs/{hash}/withdrawals | Transaction withdrawal\n*CardanoTransactionsAPI* | [**submitTransaction**](docs/CardanoTransactionsAPI.md#submittransaction) | **POST** /tx/submit | Submit a transaction\n*HealthAPI* | [**getApiRoot**](docs/HealthAPI.md#getapiroot) | **GET** / | Root endpoint\n*HealthAPI* | [**getCurrentBackendTime**](docs/HealthAPI.md#getcurrentbackendtime) | **GET** /health/clock | Current backend time\n*HealthAPI* | [**getHealth**](docs/HealthAPI.md#gethealth) | **GET** /health | Backend health status\n*IPFSAddAPI* | [**add**](docs/IPFSAddAPI.md#add) | **POST** /ipfs/add | Add a file to IPFS\n*IPFSGatewayAPI* | [**callGet**](docs/IPFSGatewayAPI.md#callget) | **GET** /ipfs/gateway/{IPFS_path} | Relay to an IPFS gateway\n*IPFSPinsAPI* | [**getPinList**](docs/IPFSPinsAPI.md#getpinlist) | **GET** /ipfs/pin/list/ | List pinned objects\n*IPFSPinsAPI* | [**getPinListByIpfsPath**](docs/IPFSPinsAPI.md#getpinlistbyipfspath) | **GET** /ipfs/pin/list/{IPFS_path} | Get details about pinned object\n*IPFSPinsAPI* | [**pinAdd**](docs/IPFSPinsAPI.md#pinadd) | **POST** /ipfs/pin/add/{IPFS_path} | Pin an object\n*IPFSPinsAPI* | [**removePin**](docs/IPFSPinsAPI.md#removepin) | **POST** /ipfs/pin/remove/{IPFS_path} | \n*MetricsAPI* | [**getMetrics**](docs/MetricsAPI.md#getmetrics) | **GET** /metrics/ | Blockfrost usage metrics\n*MetricsAPI* | [**getMetricsEndpoints**](docs/MetricsAPI.md#getmetricsendpoints) | **GET** /metrics/endpoints | Blockfrost endpoint usage metrics\n*NutLinkAPI* | [**getAddress**](docs/NutLinkAPI.md#getaddress) | **GET** /nutlink/{address} | \n*NutLinkAPI* | [**getAddressTickers**](docs/NutLinkAPI.md#getaddresstickers) | **GET** /nutlink/{address}/tickers | \n*NutLinkAPI* | [**getTickerRecordsByAddressAndTicker**](docs/NutLinkAPI.md#gettickerrecordsbyaddressandticker) | **GET** /nutlink/{address}/tickers/{ticker} | \n*NutLinkAPI* | [**getTickerRecordsByTicker**](docs/NutLinkAPI.md#gettickerrecordsbyticker) | **GET** /nutlink/tickers/{ticker} | \n\n\n## Documentation For Models\n\n - [AccountAddressesAsset](docs/AccountAddressesAsset.md)\n - [AccountAddressesContent](docs/AccountAddressesContent.md)\n - [AccountContent](docs/AccountContent.md)\n - [AccountDelegationContent](docs/AccountDelegationContent.md)\n - [AccountHistoryContent](docs/AccountHistoryContent.md)\n - [AccountMirContent](docs/AccountMirContent.md)\n - [AccountRegistrationContent](docs/AccountRegistrationContent.md)\n - [AccountRewardContent](docs/AccountRewardContent.md)\n - [AccountWithdrawalContent](docs/AccountWithdrawalContent.md)\n - [AddressContent](docs/AddressContent.md)\n - [AddressContentTotal](docs/AddressContentTotal.md)\n - [AddressTransactionsContent](docs/AddressTransactionsContent.md)\n - [AddressUtxoContent](docs/AddressUtxoContent.md)\n - [Asset](docs/Asset.md)\n - [AssetAddress](docs/AssetAddress.md)\n - [AssetHistory](docs/AssetHistory.md)\n - [AssetMetadata](docs/AssetMetadata.md)\n - [AssetPolicy](docs/AssetPolicy.md)\n - [AssetTransaction](docs/AssetTransaction.md)\n - [BlockContent](docs/BlockContent.md)\n - [EpochContent](docs/EpochContent.md)\n - [EpochParamContent](docs/EpochParamContent.md)\n - [EpochStakeContent](docs/EpochStakeContent.md)\n - [EpochStakePoolContent](docs/EpochStakePoolContent.md)\n - [GenesisContent](docs/GenesisContent.md)\n - [Metric](docs/Metric.md)\n - [MetricsEndpoint](docs/MetricsEndpoint.md)\n - [Network](docs/Network.md)\n - [NetworkStake](docs/NetworkStake.md)\n - [NetworkSupply](docs/NetworkSupply.md)\n - [NutlinkAddress](docs/NutlinkAddress.md)\n - [NutlinkAddressTicker](docs/NutlinkAddressTicker.md)\n - [NutlinkTickersTicker](docs/NutlinkTickersTicker.md)\n - [Pool](docs/Pool.md)\n - [PoolDelegation](docs/PoolDelegation.md)\n - [PoolDelegator](docs/PoolDelegator.md)\n - [PoolHistory](docs/PoolHistory.md)\n - [PoolListRetire](docs/PoolListRetire.md)\n - [PoolMetadata](docs/PoolMetadata.md)\n - [PoolRelay](docs/PoolRelay.md)\n - [PoolUpdat](docs/PoolUpdat.md)\n - [Script](docs/Script.md)\n - [ScriptRedeemer](docs/ScriptRedeemer.md)\n - [TxContent](docs/TxContent.md)\n - [TxContentDelegation](docs/TxContentDelegation.md)\n - [TxContentMetadata](docs/TxContentMetadata.md)\n - [TxContentMetadataCbor](docs/TxContentMetadataCbor.md)\n - [TxContentMir](docs/TxContentMir.md)\n - [TxContentOutputAmount](docs/TxContentOutputAmount.md)\n - [TxContentPoolCert](docs/TxContentPoolCert.md)\n - [TxContentPoolRetir](docs/TxContentPoolRetir.md)\n - [TxContentRedeemer](docs/TxContentRedeemer.md)\n - [TxContentStakeAddr](docs/TxContentStakeAddr.md)\n - [TxContentUtxo](docs/TxContentUtxo.md)\n - [TxContentUtxoAmount](docs/TxContentUtxoAmount.md)\n - [TxContentUtxoInputs](docs/TxContentUtxoInputs.md)\n - [TxContentUtxoOutputs](docs/TxContentUtxoOutputs.md)\n - [TxContentWithdrawal](docs/TxContentWithdrawal.md)\n - [TxMetadataLabel](docs/TxMetadataLabel.md)\n - [TxMetadataLabelCbor](docs/TxMetadataLabelCbor.md)\n - [TxMetadataLabelJson](docs/TxMetadataLabelJson.md)\n\n## Pod development\n\nLint before publishing:\n```bash\npod spec lint --no-clean --verbose --use-modular-headers --allow-warnings\n\n# or alternatively: (use_frameworks!)\npod spec lint --no-clean --verbose --use-modular-headers --use-libraries --allow-warnings \n```\n\nPublishing new version:\n\n```bash\npod trunk push BlockfrostSwiftSDK.podspec --verbose --allow-warnings \n```\n\nNote that this pod requires CocoaPod 1.10+. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockfrost%2Fblockfrost-swift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblockfrost%2Fblockfrost-swift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockfrost%2Fblockfrost-swift/lists"}