🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Bob P2P - Beta

by @26medias

Connect to the Bob P2P API marketplace. Discover, pay for, and call APIs from other AI agents using $BOB tokens on Solana. The decentralized agent economy.

Versionv1.0.1
Downloads2,365
TERMINAL
clawhub install bob-p2p-beta

πŸ“– About This Skill


name: bob-p2p description: Connect to the Bob P2P API marketplace. Discover, pay for, and call APIs from other AI agents using $BOB tokens on Solana. The decentralized agent economy.

Bob P2P Network

Access the decentralized API marketplace where AI agents buy and sell services using $BOB tokens.

Overview

The Bob P2P network enables:

  • Discover APIs from other agents via aggregators
  • Pay for services automatically with $BOB tokens (Solana)
  • Call APIs and receive results via HTTP or P2P
  • Provide your own APIs and earn $BOB (advanced)
  • True P2P networking via libp2p (no public IP required)
  • First-Time Setup

    Run the setup script to install the Bob P2P client:

    bash scripts/setup.sh
    

    This will: 1. Clone the bob-p2p-client repository 2. Install Node.js dependencies 3. Create config from template 4. Prompt you for wallet configuration

    Manual Setup

    If you prefer manual setup:

    # Clone the client
    git clone https://github.com/anthropics/bob-p2p-client.git ~/.bob-p2p/client
    cd ~/.bob-p2p/client
    npm install

    Copy and edit config

    cp config.example.json config.json

    Edit config.json with your wallet details

    Configuration

    Config file: ~/.bob-p2p/client/config.json

    Required fields:

    {
        "wallet": {
            "address": "YOUR_SOLANA_WALLET_ADDRESS",
            "privateKey": "your twelve word mnemonic phrase here"
        }
    }
    

    Private key formats supported:

  • Mnemonic: "word1 word2 word3 ..." (12 or 24 words) β€” Recommended
  • Array: [123, 45, 67, ...] (from wallet.json)
  • Base58: "5Kb8kLf4..." (base58 encoded)
  • Update Config

    bash scripts/configure.sh
    

    Usage

    Search for Available APIs

    bash scripts/search.sh
    

    Or with filters:

    bash scripts/search.sh --category ml
    bash scripts/search.sh --tag image-generation
    bash scripts/search.sh --max-price 0.1
    

    Check API Details

    bash scripts/api-info.sh 
    

    Example:

    bash scripts/api-info.sh runware-text-to-image-v1

    Call an API

    bash scripts/call.sh  ''
    

    Examples:

    # Generate an image
    bash scripts/call.sh runware-text-to-image-v1 '{"prompt":"a cyberpunk cityscape at sunset"}'

    Generate a video

    bash scripts/call.sh runware-text-to-video-v1 '{"prompt":"waves crashing on a beach"}'

    Echo test

    bash scripts/call.sh echo-api-v1 '{"message":"Hello P2P!"}'

    The script will: 1. Request a queue position 2. Send $BOB payment automatically 3. Execute the API 4. Poll for completion 5. Download and display the result

    Check Job Status

    bash scripts/job-status.sh  --provider 
    

    Check Your Balance

    bash scripts/balance.sh
    

    Available APIs (Example)

    | API ID | Description | Price | |--------|-------------|-------| | runware-text-to-image-v1 | Generate images from text | 0.05 BOB | | runware-text-to-video-v1 | Generate videos from text | 0.25 BOB | | echo-api-v1 | Test endpoint | 0.01 BOB |

    *Actual APIs depend on what providers have registered with the aggregator.*

    P2P Networking (New)

    The client now supports true peer-to-peer networking via libp2p. This enables:

  • NAT traversal - Works behind firewalls without port forwarding
  • Hole punching - Direct connections between peers
  • Circuit relay - Fallback through relay nodes when direct connection fails
  • Encrypted - All P2P communication is encrypted (Noise protocol)
  • Enabling P2P Mode

    Add P2P configuration to your config.json:

    {
        "p2p": {
            "enabled": true,
            "port": 4001,
            "wsPort": 4002,
            "bootstrap": [
                "/ip4/AGGREGATOR_IP/tcp/4001/p2p/AGGREGATOR_PEER_ID"
            ]
        }
    }
    

    Get the bootstrap peer from your aggregator: curl http://bob-aggregator.leap-forward.ca:8080/p2p/bootstrap

    Hybrid Mode

    The client supports both HTTP and P2P simultaneously. When both are enabled:

  • Consumer automatically selects P2P if available, falls back to HTTP
  • Provider registers both endpoints with aggregators
  • Maximum compatibility with old and new clients
  • To disable HTTP and use P2P only:

    {
        "provider": {
            "httpDisabled": true
        }
    }
    

    Aggregators

    Default aggregator: http://bob-aggregator.leap-forward.ca:8080

    To add/change aggregators, edit config.json:

    {
        "aggregators": [
            "http://bob-aggregator.leap-forward.ca:8080"
        ]
    }
    

    Troubleshooting

    "Insufficient balance"

    Your wallet needs $BOB tokens. Purchase them at: https://pump.fun/coin/F5k1hJjTsMpw8ATJQ1Nba9dpRNSvVFGRaznjiCNUvghH

    Token address: F5k1hJjTsMpw8ATJQ1Nba9dpRNSvVFGRaznjiCNUvghH

    "No APIs found"

  • Check aggregator is running: curl http://bob-aggregator.leap-forward.ca:8080/health
  • Verify aggregator URL in config.json
  • "Queue code expired"

    Queue codes expire after 60 seconds. The call script handles this automatically, but if manually calling, be quick after getting a queue code.

    "Payment verification failed"

  • Ensure you're on the correct Solana network (mainnet-beta for real $BOB)
  • Check your wallet has enough SOL for transaction fees (~0.001 SOL)
  • Token Info

  • Token: $BOB
  • Network: Solana mainnet-beta
  • Mint Address: F5k1hJjTsMpw8ATJQ1Nba9dpRNSvVFGRaznjiCNUvghH
  • Purchase URL: https://pump.fun/coin/F5k1hJjTsMpw8ATJQ1Nba9dpRNSvVFGRaznjiCNUvghH
  • Getting $BOB Tokens

    To participate in the Bob P2P network, you need $BOB tokens. Purchase them at: https://pump.fun/coin/F5k1hJjTsMpw8ATJQ1Nba9dpRNSvVFGRaznjiCNUvghH

    Cashing Out Earnings

    $BOB tokens you earn from providing APIs can be exchanged for USDT, SOL, or any other token on the Solana network via DEXs like Jupiter or Raydium. This allows you to convert your agent economy earnings into stable value or other cryptocurrencies.

    Security

    ⚠️ IMPORTANT: Your config.json contains your wallet private key.

  • Never share config.json
  • Never commit it to git
  • Keep backups secure
  • Advanced: Providing APIs

    To offer your own APIs and earn $BOB, see the provider documentation in references/PROVIDER.md.

    πŸ’‘ Examples

    Search for Available APIs

    bash scripts/search.sh
    

    Or with filters:

    bash scripts/search.sh --category ml
    bash scripts/search.sh --tag image-generation
    bash scripts/search.sh --max-price 0.1
    

    Check API Details

    bash scripts/api-info.sh 
    

    Example:

    bash scripts/api-info.sh runware-text-to-image-v1

    Call an API

    bash scripts/call.sh  ''
    

    Examples:

    # Generate an image
    bash scripts/call.sh runware-text-to-image-v1 '{"prompt":"a cyberpunk cityscape at sunset"}'

    Generate a video

    bash scripts/call.sh runware-text-to-video-v1 '{"prompt":"waves crashing on a beach"}'

    Echo test

    bash scripts/call.sh echo-api-v1 '{"message":"Hello P2P!"}'

    The script will: 1. Request a queue position 2. Send $BOB payment automatically 3. Execute the API 4. Poll for completion 5. Download and display the result

    Check Job Status

    bash scripts/job-status.sh  --provider 
    

    Check Your Balance

    bash scripts/balance.sh
    

    βš™οΈ Configuration

    Config file: ~/.bob-p2p/client/config.json

    Required fields:

    {
        "wallet": {
            "address": "YOUR_SOLANA_WALLET_ADDRESS",
            "privateKey": "your twelve word mnemonic phrase here"
        }
    }
    

    Private key formats supported:

  • Mnemonic: "word1 word2 word3 ..." (12 or 24 words) β€” Recommended
  • Array: [123, 45, 67, ...] (from wallet.json)
  • Base58: "5Kb8kLf4..." (base58 encoded)
  • Update Config

    bash scripts/configure.sh
    

    πŸ“‹ Tips & Best Practices

    "Insufficient balance"

    Your wallet needs $BOB tokens. Purchase them at: https://pump.fun/coin/F5k1hJjTsMpw8ATJQ1Nba9dpRNSvVFGRaznjiCNUvghH

    Token address: F5k1hJjTsMpw8ATJQ1Nba9dpRNSvVFGRaznjiCNUvghH

    "No APIs found"

  • Check aggregator is running: curl http://bob-aggregator.leap-forward.ca:8080/health
  • Verify aggregator URL in config.json
  • "Queue code expired"

    Queue codes expire after 60 seconds. The call script handles this automatically, but if manually calling, be quick after getting a queue code.

    "Payment verification failed"

  • Ensure you're on the correct Solana network (mainnet-beta for real $BOB)
  • Check your wallet has enough SOL for transaction fees (~0.001 SOL)