Skip to content

Overview

This page describes the available Synapse packages and how to choose the one that fits your use case.

Package Best for Builds on
Synapse SDK Most applications Core
Synapse React React applications Core + Wagmi
Synapse Core Fine-grained control, custom integrations Viem

Synapse SDK is the recommended starting point. A single Synapse class coordinates payments, storage, provider discovery, and session keys behind a high-level API.

  • Payments: Deposits, withdrawals, operator approvals (Payments Operations Guide →)
  • Storage: Upload and download files to storage providers (Storage Operations Guide →)
  • Provider Discovery: Query registered storage providers and products
  • Session Keys: Delegate signing authority for automated workflows

Synapse SDK Guide →

Synapse SDK API Reference →

Synapse Core composes low-level building blocks that the SDK and React packages build on. Use when you need direct control over individual operations.

  • Contract functions - Filecoin Pay, Warm Storage, PDP Verifier, Service Provider Registry
  • Storage provider HTTP API: Data set creation, piece uploads, deletions
  • PieceCID utilities - Calculate, parse, and validate piece identifiers
  • EIP-712 typed data - Sign operations for data set and piece management

Synapse Core Guide →

Synapse Core API Reference →

React hooks for payments, storage, and provider operations. Built on Wagmi and TanStack Query.

Synapse React Guide →

Synapse React API Reference →

The sequence below shows the complete lifecycle of a file upload — from initialization through on-chain verification.

alt[Needs setup]alt[No data set exists]Initialize Synapse SDKDiscover contract addressesCheck allowancesgetPriceList()accountInfo(client)depositWithPermitAndApproveOperator()synapse.storage.upload(data)Auto-select provider or use defaultSign CreateDataSet (EIP-712)POST /pdp/data-sets (+ signature)createDataSet(warmStorage, signature)dataSetCreated()createRail()railIdCalculate PieceCIDPOST /pdp/piece (upload data)uploadUUIDSign AddPieces (EIP-712)POST /pdp/data-sets/{id}/piecesaddPieces(dataSetId, pieces, signature)piecesAdded()Store metadataSuccessSchedule first challengeUpload complete!Step 1: PreparationStep 2: Payment SetupStep 3: Storage ContextStep 4: Upload & RegisterStep 5: Verification BeginsClientSDKWarmStorageCurioPDPVerifierPaymentsClientSDKWarmStorageCurioPDPVerifierPayments