Learn how REM Network works and how to participate
The REM Network is a Decentralized Physical Infrastructure Network (DePIN) that provides vector database services for AI applications. We're building a decentralized alternative to Pinecone, powered by Proof of RAM consensus and the Sui blockchain.
Our novel consensus mechanism that cryptographically proves miners actually possess the RAM they claim.
(offset, chunk_size)hash(data[offset:offset+chunk_size]) + response timeWhy This Works: Computing hashes on-demand from disk is too slow and detectable. Pre-computing all possible challenges requires exponential storage. Statistical sampling makes cheating economically irrational.
REM Network uses a dynamic reputation system. Your score determines your reward multiplier — built from real performance metrics, not just hardware.
| Tier | Score Range | Multiplier | Description |
|---|---|---|---|
| Elite | 90-100 | 1.5× | Premium hardware, perfect uptime |
| Trusted | 70-89 | 1.0× | Reliable, good performance |
| Standard | 50-69 | 0.75× | Average performance |
| Probation | 30-49 | 0.25× | New or inconsistent |
| Restricted | 0-29 | 0× | SSD scammers, auto-slashed |
Miners earn rewards based on three components:
Miner Rewards =
[Capacity Score × 50%] +
[Challenge Score × 40%] +
[Query Score × 10%]
× Reputation Multiplier
× Uptime²
Total Supply: 1 Billion REM
REM Network provides a Pinecone-compatible REST API and Python SDK for building AI applications on decentralized infrastructure.
Base URL: https://api.getrem.online/v1
POST /collections - Create a collectionPOST /collections/{id}/vectors/upsert - Insert/update vectorsPOST /collections/{id}/vectors/query - Similarity searchPOST /collections/{id}/vectors/fetch - Fetch vectors by IDPOST /collections/{id}/vectors/delete - Delete vectorsPOST /collections/{id}/vectors/query/batch - Batch queries (up to 10)pip install rem-vectordb
from rem import REM
client = REM(api_key="rem_your_api_key")
# Create a collection with encryption
collection = client.create_collection(
name="my-docs",
dimension=384,
metric="cosine",
encrypted_fields=["text", "user_id"]
)
# Upsert vectors
collection.upsert(vectors=[
{"id": "doc-1", "values": [0.1, 0.2, ...], "metadata": {"text": "Hello world"}}
])
# Query with metadata filtering
results = collection.query(
vector=[0.1, 0.2, ...],
top_k=10,
filter={"category": {"$eq": "science"}},
include_metadata=True
)
# Hybrid search (vector + keyword)
results = collection.query(
vector=[0.1, 0.2, ...],
query_text="machine learning",
hybrid_alpha=0.7,
top_k=10
)
# Fetch and delete
vectors = collection.fetch(ids=["doc-1"])
collection.delete(ids=["doc-1"])
# LangChain
from rem.integrations.langchain import REMVectorStore
store = REMVectorStore(api_key="rem_xxx", collection_name="docs", embedding=embeddings)
store.add_texts(["Hello world", "REM is great"])
results = store.similarity_search("greeting", k=5)
# LlamaIndex
from rem.integrations.llamaindex import REMVectorStore
vector_store = REMVectorStore(api_key="rem_xxx", collection_name="docs")
index = VectorStoreIndex.from_vector_store(vector_store)
Get Started: Check the documentation for full API reference and integration guides.
Current Configuration:
Ready to start contributing? Check out our Mining Guide for step-by-step instructions on downloading and running the miner package.