Skip to main content

SDK Architecture

The SDK covers the full spectrum of decentralized application development, from the blockchain connection to the user interface. To enable customization and flexibility, the SDK is architected to be modular and composable, allowing you to provide any custom configurations or integrations with other services and tools to replace or enhance the default functionality.

Contract-driven Framework

When using the SDK to interact with smart contracts, the SDK uses a contract-driven framework; meaning the SDK detects common standards and patterns such as ERC20, ERC721, ERC1155, permissions, and more, by resolving the smart contract ABI and extracting the standards the contract implements; known as extensions.

Each detected extension unlocks functionality in the SDK for you to use; enabling sets of methods and components to be used in the language of your choice to interact directly with the smart contract.

Our ecosystem of tools such as our dashboard and import feature make using smart contracts simpler and more efficient. Connecting to a smart contract just requires the contract address, (no ABI), and are resolved from our on-chain registry of smart contracts automatically. Each contracts information is automatically cached by the SDK, so your operations to read and write data to the smart contract are fast and efficient.

Batteries Included

Out of the box, infrastructure to power the essential components of decentralized applications is included in the SDK. Connection to the blockchain via RPC, IPFS pinning service and gateways, elegant wallet onboarding flow, gasless relayers, FIAT on-ramps, and more are pre-configured by default, with easy configuration to customize to your needs.

All of our offerings work together seamlessly, allowing you to build performant decentralized applications without sacrificing your developer experience.

No Vendor Lock-in

All aspects of the SDK are modular and composable, allowing you to customize any part of our tooling to your needs, or integrate with other services for specific use cases. Whether you want to provide your own RPC, use a different wallet connection flow, provide your own decentralized storage solution, or use a different gasless relayer, you can do so with ease.