Skip to main content
The IXO Blockchain API provides direct access to IXO Protocol networks, enabling transaction broadcasting, state queries, and smart contract interactions.

Overview

The IXO Blockchain API allows developers to interact with IXO Protocol blockchain networks through standardized endpoints. It provides capabilities for:
  • Transaction creation and broadcasting
  • Blockchain state queries
  • Smart contract deployment and execution
  • Account management and authentication
  • Digital twin and entity operations

Transactions

Submit and track blockchain transactions with secure signing

Queries

Query blockchain state and data with efficient filtering

Smart Contracts

Interact with CosmWasm contracts for custom logic

Accounts

Manage blockchain accounts and cryptographic keys

Authentication

  • Private key signing
  • Key management
  • Signature verification
  • Account recovery
  • DID-based signatures
  • Verification methods
  • Key rotation
  • Multi-signature support

Core Endpoints

Transaction Endpoints

POST /txs                 // Submit a signed transaction
GET /txs/{hash}           // Get transaction by hash
GET /txs/search           // Search transactions by criteria

Query Endpoints

GET /blocks/latest        // Get the latest block
GET /bank/balances/{address}  // Get account balances
GET /auth/accounts/{address}  // Get account information
GET /staking/validators   // Get validator list

Smart Contract Endpoints

GET /wasm/code/{code_id}  // Get contract code
GET /wasm/contract/{contract_address}  // Get contract info
POST /wasm/contract/{contract_address}/execute  // Execute contract

Implementation Guide

  1. Setup Client
    import { IxoClient } from '@ixo/impactxclient-sdk'
    
    const client = new IxoClient({
      rpcUrl: 'https://rpc.ixo.earth',
      chainId: 'ixo-4'
    })
    
  2. Create Transaction
    const tx = await client.createTx({
      messages: [/* transaction messages */],
      memo: 'Optional memo',
      fee: {
        amount: [{ amount: '5000', denom: 'uixo' }],
        gas: '200000'
      }
    })
    
  3. Sign & Broadcast
    const signedTx = await client.sign(tx, signer)
    const result = await client.broadcast(signedTx)
    
  4. Query State
    const balance = await client.getBalance(address)
    const validator = await client.getValidator(valAddress)
    

Transaction Types

  • Send tokens between accounts
  • Multi-send to multiple recipients
  • Delegate tokens to validators
  • Undelegate tokens from validators
  • Create digital twin entities
  • Update entity properties
  • Transfer entity ownership
  • Delete entity records
  • Submit verification claims
  • Evaluate claim evidence
  • Dispute invalid claims
  • Resolve claim disputes
  • Deploy new contracts
  • Execute contract functions
  • Query contract state
  • Migrate contract versions

Error Handling

  • Insufficient funds for gas fees
  • Invalid signature formats
  • Gas estimation failures
  • Transaction timeout handling
  • Invalid parameter formats
  • Node connection failures
  • Rate limiting restrictions
  • Data validation errors

Use Cases

Digital Twin Management

Create and manage verifiable digital representations of real-world assets

Decentralized Verification

Implement verification workflows with on-chain evidence and claims

Token Operations

Execute token transfers, staking, and custom token operations

Smart Contract Applications

Deploy and interact with custom business logic through smart contracts

Best Practices

  • Implement secure key storage
  • Validate transaction signing
  • Verify parameter inputs
  • Handle errors properly
  • Optimize gas usage
  • Batch related transactions
  • Implement query caching
  • Use connection pooling
  • Track transaction status
  • Log errors systematically
  • Monitor performance metrics
  • Set up alert systems

Network Environments

Mainnet

https://rpc.ixo.earth

Testnet

https://testnet-rpc.ixo.earth

Local

http://localhost:26657

Developer Resources

For technical support or questions about the IXO Blockchain API, join our Developer Community or contact our Developer Relations Team.
I