Centrifuge RPC API Documentation
Overview
Centrifuge is the leading Real-World Asset (RWA) protocol and Polkadot parachain, providing infrastructure for tokenizing, managing, and investing in real-world financial assets. Built on the Substrate framework, Centrifuge bridges traditional finance with DeFi, enabling businesses to access instant, bankless liquidity through tokenized credit, real estate, treasuries, and other real-world assets.
This documentation provides comprehensive coverage of Centrifuge's JSON-RPC API methods, enabling developers to interact with Centrifuge nodes for building applications, wallets, explorers, and other blockchain tools.
Network Information
Mainnet (Centrifuge)
- Parachain ID: 2031
- Native Token: CFG
- Token Decimals: 18
- SS58 Prefix: 36
- Consensus: Nominated Proof-of-Stake (NPoS) via Polkadot
- Framework: Substrate
- Genesis Hash: 0xb3db41421702df9a7fcac62b53ffeac85f7853cc4e689e0b93aeb3db18c09d82
Connection Endpoints
HTTPS Endpoint
https://api-centrifuge.n.dwellir.com/{YOUR_API_KEY}
WebSocket Endpoint
wss://api-centrifuge.n.dwellir.com/{YOUR_API_KEY}
Authentication
Authentication is done via the URL path. Replace {YOUR_API_KEY}
with your actual API key obtained from dwellir.com.
API Categories
Centrifuge's RPC API is organized into the following method categories:
Core APIs
Author Methods
Submit and manage extrinsics (transactions) on the network.
Chain Methods
Query blockchain data including blocks, headers, and finalized state.
State Methods
Access runtime storage, metadata, and proof generation.
System Methods
Node information, health checks, and network properties.
Specialized APIs
BEEFY Methods
Bridge Efficiency Enabling Finality Yielder protocol operations.
Grandpa Methods
GRANDPA finality gadget operations and proofs.
Child State Methods
Manage child storage tries for contracts and parachains.
Sync State Methods
Monitor and manage node synchronization state.
Quick Start Examples
Get Latest Block
const response = await fetch('https://api-centrifuge.n.dwellir.com/YOUR_API_KEY', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
jsonrpc: '2.0',
method: 'chain_getBlock',
params: [],
id: 1
})
});
const data = await response.json();
console.log('Latest block:', data.result);
Submit Transaction
import requests
import json
url = "https://api-centrifuge.n.dwellir.com/YOUR_API_KEY"
headers = {
"Content-Type": "application/json"
}
# Properly formatted and signed extrinsic
extrinsic = "0x..."
payload = {
"jsonrpc": "2.0",
"method": "author_submitExtrinsic",
"params": [extrinsic],
"id": 1
}
response = requests.post(url, headers=headers, data=json.dumps(payload))
tx_hash = response.json()["result"]
print(f"Transaction hash: {tx_hash}")
Subscribe to New Blocks (WebSocket)
const WebSocket = require('ws');
const ws = new WebSocket('wss://api-centrifuge.n.dwellir.com/YOUR_API_KEY');
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'chain_subscribeNewHeads',
params: [],
id: 1
}));
});
ws.on('message', (data) => {
const response = JSON.parse(data);
if (response.params?.result) {
console.log('New block:', response.params.result);
}
});
Error Handling
Centrifuge RPC errors follow the JSON-RPC 2.0 error format:
{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "Invalid params",
"data": "Expected hex-encoded hash"
},
"id": 1
}
Common Error Codes
Code | Message | Description |
---|---|---|
-32700 | Parse error | Invalid JSON |
-32600 | Invalid request | Missing required fields |
-32601 | Method not found | Unknown RPC method |
-32602 | Invalid params | Invalid method parameters |
-32603 | Internal error | Node processing error |
-32000 | Server error | Custom server errors |
Best Practices
1. Connection Management
- Use WebSocket connections for subscriptions and real-time updates
- Implement reconnection logic for WebSocket disconnections
- Use HTTPS for single queries and transactions
2. Error Handling
- Always check for error responses before processing results
- Implement retry logic with exponential backoff
- Log errors for debugging and monitoring
3. Performance Optimization
- Batch multiple queries when possible
- Cache frequently accessed data like metadata
- Use specific block hashes for deterministic queries
4. Security
- Never expose API keys in client-side code
- Validate all input data before submission
- Use secure storage for private keys
SDK Support
Official Libraries
- @polkadot/api - JavaScript/TypeScript SDK (compatible with Centrifuge)
- py-substrate-interface - Python SDK
- subxt - Rust SDK
- go-substrate-rpc-client - Go SDK
Integration Example
// Using @polkadot/api
const { ApiPromise, WsProvider } = require('@polkadot/api');
async function connect() {
const provider = new WsProvider('wss://api-centrifuge.n.dwellir.com/YOUR_API_KEY');
const api = await ApiPromise.create({ provider });
// Query chain data
const chain = await api.rpc.system.chain();
console.log(`Connected to ${chain}`);
// Get account balance
const account = 'YOUR_ADDRESS';
const { data: balance } = await api.query.system.account(account);
console.log(`Balance: ${balance.free.toString()}`);
return api;
}
Centrifuge Features
Real-World Asset Tokenization
Centrifuge is the leading protocol for tokenizing real-world assets, with $270 million in active loans and nearly $500 million in total financed assets. The platform enables:
- Private Credit - Tokenization of private credit and lending markets
- Real Estate - Property-backed tokenized assets
- Treasuries - Government bond tokenization
- Invoice Financing - SME invoice and receivables tokenization
DeFi Integration
Centrifuge bridges traditional finance with DeFi through:
- Multichain Support - Integration across Polkadot, Ethereum, and other chains via Wormhole
- Liquidity Pools - Tinlake protocol for asset-backed lending pools
- Institutional Grade - Compliance-ready infrastructure for regulated assets
CFG Token
The CFG token serves multiple purposes:
- Governance - Community-driven protocol upgrades and parameter changes
- Staking - Network security through Polkadot's NPoS
- Utility - Access to protocol features and services
Polkadot Integration
As a Polkadot parachain, Centrifuge benefits from:
- Shared Security - Protected by Polkadot's validator network
- Cross-Chain Interoperability - Seamless communication with other parachains
- Scalability - Leveraging Polkadot's multi-chain architecture
Additional Resources
- Centrifuge Website
- Centrifuge Documentation
- Centrifuge GitHub
- Centrifuge Explorer
- Polkadot Parachains Info
- Substrate Documentation
Support
For additional support or questions:
- Email: support@dwellir.com
- Documentation: docs.dwellir.com
Method Categories
Select a category below to explore detailed method documentation: