Pinata Cloud SDK for Dart & Flutter

Easily interact with Pinata Cloud from your Dart or Flutter apps. This SDK currently supports:

  • ✅ Uploading files to IPFS
  • ✅ Creating signed upload URLs

More features like pinning/unpinning, listing files, and metadata management coming soon.


📦 Installation

Add this to your pubspec.yaml:

dependencies:
  pinata_cloud_sdk: ^0.0.1

Then run:

flutter pub get

🚀 Getting Started

import 'package:pinata_cloud_sdk/pinata_cloud_sdk.dart';

final sdk = PinataSDK(token: '<YOUR_PINATA_JWT>');

// Upload a file
final file = File('/path/to/file.png');
final response = await sdk.upload.uploadFile(
  file: file,
  name: 'example.png',
);
print(response.cid);

✍️ Create Signed Upload URL

final signedUrl = await sdk.upload.signUpload(
  date: DateTime.now().millisecondsSinceEpoch,
  expires: DateTime.now().add(Duration(hours: 1)).millisecondsSinceEpoch,
  maxFileSize: 5000000,
  allowMimeTypes: ['image/png', 'image/jpeg'],
  filename: 'example.png',
);
print(signedUrl.data);

🔐 Authentication

All requests require a JWT token from your Pinata account:


📁 Project Structure

pinata_cloud_sdk/
├── lib/
│   ├── pinata_cloud_sdk.dart
│   └── src/
│       ├── api/
│       ├── models/
│       └── services/
├── test/
├── example/
├── pubspec.yaml
└── README.md

📄 License

MIT © Romavic dos Anjos

Libraries

pinata_cloud_sdk