@railblock/openlisting-sdk
v1.0.3
Published
JavaScript SDK for the OpenListing real estate protocol
Maintainers
Readme
OpenListing SDK
██████╗ ██████╗ ███████╗███╗ ██╗ ██╗ ██╗███████╗████████╗██╗███╗ ██╗ ██████╗
██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██║ ██║██╔════╝╚══██╔══╝██║████╗ ██║██╔════╝
██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ██║ ██║███████╗ ██║ ██║██╔██╗ ██║██║ ███╗
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║ ██║╚════██║ ██║ ██║██║╚██╗██║██║ ██║
╚██████╔╝██║ ███████╗██║ ╚████║ ███████╗██║███████║ ██║ ██║██║ ╚████║╚██████╔╝
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══════╝╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝The TypeScript SDK for OpenListing smart contract and API integrations.
Install
npm install @railblock/openlisting-sdkQuick start
import { OpenListing } from "@railblock/openlisting-sdk";
const client = new OpenListing({
apiKey: process.env.OPENLISTING_API_KEY,
endpoint: "https://api.openlisting.pro",
});One-liner usage
const client = new OpenListing({ apiKey: process.env.OPENLISTING_API_KEY });What this SDK does
- Talks to the OpenListing API
- Supports contract-backed property, listing, and marketplace flows
- Falls back to REST when no contract config is provided
- Exposes contract ABIs for
PropertyRegistry,OpenListing, andMarketplaceRegistry
Contract-backed usage
Property registration
const client = new OpenListing({
apiKey: process.env.OPENLISTING_API_KEY,
endpoint: "https://api.openlisting.pro",
provider: window.ethereum,
contracts: {
propertyRegistry: "0xYourPropertyRegistryAddress",
},
});
const result = await client.registerProperty("ipfs://metadata-uri");Listing management
const client = new OpenListing({
apiKey: process.env.OPENLISTING_API_KEY,
endpoint: "https://api.openlisting.pro",
provider: window.ethereum,
contracts: {
listingManager: "0xYourListingManagerAddress",
},
});
await client.createListing(1, "1.5");
await client.updatePrice(1, "2.0");
await client.cancelListing(1);Marketplace registration
Marketplace operators can configure their own marketplace fee percentage. Protocol, listing, and buy-side fees continue to route to the contract treasury.
const client = new OpenListing({
apiKey: process.env.OPENLISTING_API_KEY,
endpoint: "https://api.openlisting.pro",
provider: window.ethereum,
contracts: {
marketplaceRegistry: "0xYourMarketplaceRegistryAddress",
},
});
const marketplace = await client.registerMarketplace({
fee_percent: 1.5,
});
await client.updateMarketplaceFee(marketplace.marketplaceId, 2.0);
await client.deactivateMarketplace(marketplace.marketplaceId);REST fallback
const client = new OpenListing({
apiKey: process.env.OPENLISTING_API_KEY,
endpoint: "https://api.openlisting.pro",
});
const listings = await client.getListings();Why OpenListing
OpenListing is built for marketplace workflows that need a simple SDK entry point for contract operations and API access. This package is designed to be easy to install, easy to brand, and easy to use in a one-line consumer setup.
Publishing notes
- Keep the README install snippet current with the published npm package name.
- Use this file as the public-facing entry point for npm consumers.
- Update examples when contract ABIs or method signatures change.
