Skip to content

Instantly share code, notes, and snippets.

@Aboudjem
Last active March 30, 2026 08:00
Show Gist options
  • Select an option

  • Save Aboudjem/220e85aba35b92ce491e17905e8e83ea to your computer and use it in GitHub Desktop.

Select an option

Save Aboudjem/220e85aba35b92ce491e17905e8e83ea to your computer and use it in GitHub Desktop.
Integra PRD: 29-demo-agent

Demo Agent

Owner: Kalki | Ship: Week 2 | Est: 0.5 day | Chain: integra-testnet-1 (EVM 26218) URL: N/A (headless agent, monitored via Agent Arena)

Overview

Autonomous agent that runs the full Integra asset lifecycle in an infinite loop: mint passport, wrap into IRWAToken, list on GOB, negotiate a price, execute a trade, repeat. Generates thousands of on-chain transactions even with zero real users. Multiple instances run simultaneously with different strategies (flipper, holder, market maker) to simulate realistic market activity. This is the chain's heartbeat -- it keeps Explorer and dashboards alive, stress-tests every contract, and drives toward the 1M+ tx target.

Features

  • Full Lifecycle Loop — Executes the complete flow: mint passport, wrap token, list on GOB, bid, trade, repeat indefinitely
  • Three Strategies — Flipper (mint and sell immediately), Holder (mint, wrap, hold N cycles before listing), Market Maker (bids on other agents' listings for two-sided activity)
  • Multi-Instance — Each instance gets its own AgentAuth wallet; instances discover and trade with each other's GOB listings
  • Synthetic Data Generator — Produces random but realistic property metadata using faker-style generation (no scraping needed for speed)
  • Configurable Speed — Adjustable tx rate per instance (default 10 tx/min), tunable up to chain gas limits
  • Auto-Refuel — Agents auto-request testnet IRL from faucet when wallet balance drops below threshold
  • Agent Arena Monitoring — All instances register, report heartbeat, and surface per-cycle metrics (tx count, gas spent, cycle time)
  • Pause/Resume/Kill — Operator can control instances via config flag or Agent Arena dashboard
  • Graceful Shutdown — On SIGTERM, persists current state and resumes from last completed cycle on restart
  • Configurable Asset Types — Supports residential, commercial, and land property types with configurable price ranges
  • Cross-Instance Trading — Market maker instances actively bid on listings from flipper/holder instances, creating genuine two-sided order flow

Functions

  • runLifecycle(strategy, config) — Executes one full mint-wrap-list-trade cycle based on the selected strategy
  • mintPassport(syntheticData) — Calls AssetPassport.mint() with generated property metadata
  • wrapToken(passportId) — Calls IRWAToken.wrap() to tokenize the passport (fractionalizes if strategy requires)
  • listOnGOB(tokenId, price) — Lists the token on GOB at the configured price
  • placeBid(listingId, bidPrice) — Places a bid on another agent's GOB listing (market maker strategy)
  • executeTrade(listingId) — Accepts a bid or executes a matched trade on GOB
  • refuelWallet(threshold) — Requests testnet IRL from faucet when balance drops below threshold
  • getInstanceMetrics() — Returns per-instance stats: total cycles, tx count, gas spent, avg cycle time
  • pauseInstance() / resumeInstance() — Operator controls for pausing and resuming an instance
  • generateSyntheticProperty(propertyType, priceRange) — Creates random realistic property metadata

User Flow

  1. Operator deploys one or more agent instances with a config (strategy, speed, asset types, price range)
  2. Each instance authenticates via AgentAuth and receives a funded session wallet
  3. Agent enters infinite loop:
    • Mints a new AssetPassport with synthetic data
    • Wraps the passport into an IRWAToken
    • Lists the token on GOB at a configurable price
    • Another instance (or same agent as market maker) places a bid and negotiates
    • Trade executes on GOB, ownership transfers
    • Loop restarts with a new asset
  4. Agents auto-refuel from faucet when wallet balance is low
  5. Operator monitors all instances via Agent Arena dashboard
  6. Operator can pause, resume, or kill instances at any time

Deliverables

  • Lifecycle state machine (mint, wrap, list, bid, trade as discrete states with transitions)
  • Three built-in strategies: flipper, holder, market maker
  • Synthetic property data generator (realistic metadata, no external scraping)
  • Multi-instance orchestration (each instance gets own AgentAuth wallet)
  • Cross-instance discovery (market makers find and bid on other instances' listings)
  • Auto-refuel from faucet when balance drops below threshold
  • Configurable speed, asset types, price ranges, and loop delay
  • Graceful shutdown with state persistence and resume-from-checkpoint
  • Agent Arena registration with per-cycle metrics reporting
  • Pause/resume/kill controls via config or Agent Arena

Integration Points

  • Depends on: AgentAuth (per-instance session wallets), AssetPassport.sol (mint()), IRWAToken.sol (wrap()), GOB (list(), bid(), acceptBid(), trade()), Faucet (auto-refuel)
  • Used by: Agent Arena (monitoring dashboard), Explorer (all txs indexed), ecosystem dashboards (activity metrics)
  • Explorer: Integra Explorer (every lifecycle tx visible)

XP Rewards

Action Points
Each transaction (mint, wrap, list, trade counted separately) Standard agent XP rate
Complete 10,000 trade cycles "Market Maker" badge
Leaderboard position Based on total tx volume generated

Success Metrics

Metric Target
Continuous runtime without crash or stall 24+ hours
Transactions per instance per hour 600+ (10 tx/min)
Full lifecycle cycles completed in first week 10,000+
Simultaneous instances running 5+
Total txs generated across all instances 100,000+ in first week
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment