# API Reference **Last Updated**: 2025-01-27 **Status**: Active **Base URL**: `https://rpc.d-bis.org` ## Table of Contents - [Overview](#overview) - [Authentication](#authentication) - [JSON-RPC Methods](#json-rpc-methods) - [Request/Response Format](#requestresponse-format) - [Error Handling](#error-handling) - [Rate Limits](#rate-limits) - [Examples](#examples) ## Overview This API provides JSON-RPC 2.0 endpoints for interacting with the DeFi Oracle Meta Mainnet (ChainID 138). ## Authentication Currently, the public RPC endpoint does not require authentication. Rate limiting is applied per IP address. > **Note**: For production applications, consider using authenticated endpoints or API keys. ## JSON-RPC Methods ### Standard Ethereum Methods All standard Ethereum JSON-RPC methods are supported. See [Ethereum JSON-RPC Specification](https://ethereum.org/en/developers/docs/apis/json-rpc/) for complete reference. #### Common Methods - `eth_blockNumber` - Get latest block number - `eth_getBalance` - Get account balance - `eth_getTransactionCount` - Get transaction count (nonce) - `eth_sendTransaction` - Send transaction - `eth_call` - Execute call without creating transaction - `eth_getTransactionReceipt` - Get transaction receipt - `eth_getLogs` - Get event logs ### Example Request ```bash curl -X POST https://rpc.d-bis.org \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "method": "eth_blockNumber", "params": [], "id": 1 }' ``` ### Example Response ```json { "jsonrpc": "2.0", "id": 1, "result": "0x12345" } ``` ## Request/Response Format ### Request Format ```json { "jsonrpc": "2.0", "method": "method_name", "params": [param1, param2], "id": 1 } ``` ### Response Format **Success**: ```json { "jsonrpc": "2.0", "id": 1, "result": "result_data" } ``` **Error**: ```json { "jsonrpc": "2.0", "id": 1, "error": { "code": -32000, "message": "Error message" } } ``` ## Error Handling ### Error Codes | Code | Meaning | Description | |------|---------|-------------| | -32700 | Parse error | Invalid JSON | | -32600 | Invalid Request | JSON is not a valid request | | -32601 | Method not found | Method does not exist | | -32602 | Invalid params | Invalid method parameters | | -32603 | Internal error | Internal JSON-RPC error | | -32000 | Server error | Generic server error | | -32001 | Rate limit | Rate limit exceeded | ### Error Response Example ```json { "jsonrpc": "2.0", "id": 1, "error": { "code": -32001, "message": "Rate limit exceeded", "data": { "limit": 1200, "window": "1 minute" } } } ``` ## Rate Limits - **Default**: 1200 requests per minute per IP - **eth_call**: 600 requests per minute - **eth_getLogs**: 300 requests per minute - **eth_getBlockByNumber**: 600 requests per minute Rate limit headers are included in responses: - `X-RateLimit-Limit`: Maximum requests allowed - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Time when limit resets ## Examples ### Get Latest Block Number ```bash curl -X POST https://rpc.d-bis.org \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "method": "eth_blockNumber", "params": [], "id": 1 }' ``` ### Get Account Balance ```bash curl -X POST https://rpc.d-bis.org \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "method": "eth_getBalance", "params": ["0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb", "latest"], "id": 1 }' ``` ### Call Contract Method ```bash curl -X POST https://rpc.d-bis.org \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "method": "eth_call", "params": [{ "to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb", "data": "0x70a08231000000000000000000000000742d35Cc6634C0532925a3b844Bc9e7595f0bEb" }, "latest"], "id": 1 }' ``` ### Get Transaction Receipt ```bash curl -X POST https://rpc.d-bis.org \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "method": "eth_getTransactionReceipt", "params": ["0x1234567890abcdef..."], "id": 1 }' ``` ## Related Documentation - [API Overview](API.md) - [Blockscout API](BLOCKSCOUT_API.md) - [Tatum SDK](TATUM_SDK.md) - [Integration Guide](../guides/INTEGRATION_GUIDE.md) --- **Last Updated**: 2025-01-27