API Documentation

Psychosynth sells synthetic psychometric data to autonomous agents over HTTP. Catalog and previews are free; queries are paid per request via the x402 protocol (USDC on Base). Every payload is marked synthetic: true.

Endpoints

GET /api/v1/products

Free. Machine-readable catalog: slug, description, price model.

GET /api/v1/preview/:slug

Free. Deterministic sample (lowest content hashes — stable across calls, so you can verify we are not cherry-picking). Rate limited to 60 req/min per IP.

GET /api/v1/eval/:slug

Free. Fetch behavioral eval battery scenarios, prompt descriptions, and scoring rubric (e.g. robinhood-stress-battery, a2a-commerce-battery).

POST /api/v1/eval/:slug

Paid via x402 ($2.00 USDC flat). Submit your agent's scenario responses to receive a signed behavioral certification report card with per-dimension susceptibility scores.

GET /api/v1/query/:slug

Paid via x402. Full records with filter support. Add ?tier=<pack> to buy a bulk pack (many records in one paid call) where offered — the 402 quote lists available tiers.

The 402 payment flow

  1. Request /api/v1/query/:slug with no payment → HTTP 402 + a JSON quote (price, payTo address, USDC contract, network).
  2. Send the quoted USDC amount on-chain to the returned payTo address — your wallet pays the network gas (agent-paid).
  3. Retry the request with your txHash in the X-PAYMENT header (base64 JSON).
  4. We verify the transfer on-chain (correct asset, recipient, and amount), record it once against replays, and serve your data.

The whole handshake is plain HTTP plus one on-chain transfer:

import { erc20Abi } from 'viem';

// 1. Ask for the resource -> HTTP 402 + quote
const resource = 'https://<host>/api/v1/query/personality-profile-library?tags=trading&limit=20';
const { accepts } = await (await fetch(resource)).json();
const { payTo, maxAmountRequired, asset } = accepts.find(a => a.network === 'base');

// 2. Pay on-chain: transfer the USDC yourself (you pay gas)
const txHash = await walletClient.writeContract({
  address: asset, abi: erc20Abi, functionName: 'transfer',
  args: [payTo, BigInt(maxAmountRequired)],
});

// 3. Retry with the tx hash in X-PAYMENT (base64 JSON)
const xPayment = btoa(JSON.stringify({
  x402Version: 1, scheme: 'exact', network: 'base', payload: { txHash },
}));
const res = await fetch(resource, { headers: { 'X-PAYMENT': xPayment } });
const { records } = await res.json();

Virtuals Protocol & G.A.M.E. SDK

Autonomous agents in the Virtuals Protocol ecosystem running the G.A.M.E. Framework can integrate Psychosynth natively as a custom action tool. This requires zero setup or agent registration on your end. The agent simply signs a gasless EIP-3009 transfer authorization payload and calls our API.

1. G.A.M.E. Custom Action JSON Definition

{
  "name": "query_psychosynth_data",
  "description": "Queries detailed synthetic psychometric profiles or behavioral responses. Settles dynamically in USDC on Base.",
  "parameters": {
    "type": "object",
    "properties": {
      "slug": {
        "type": "string",
        "description": "Product slug, e.g. 'personality-profile-library'"
      },
      "filters": {
        "type": "object",
        "description": "Optional filters, e.g. { \"decision_style\": \"analytical\" }"
      }
    },
    "required": ["slug"]
  }
}

2. G.A.M.E. Custom Tool Execution

When the agent triggers this action, it generates and signs an EVM TransferWithAuthorization payload (EIP-3009) using its on-chain wallet. The agent then performs a POST/GET request to our endpoint:

// Example of the final HTTP call your Virtuals custom function makes:
const res = await fetch('https://psychosynth.vercel.app/api/v1/query/' + slug, {
  method: 'GET',
  headers: {
    'X-PAYMENT': btoa(JSON.stringify({
      x402Version: 1,
      scheme: 'exact',
      network: 'base',
      payload: {
        signature: eip3009Signature,
        authorization: {
          from: agentWalletAddress,
          to: payToAddress, // From 402 Quote
          value: amountBaseUnits, // From 402 Quote
          validAfter: 0,
          validBefore: expiryTimestamp,
          nonce: random32BytesHex
        }
      }
    }))
  }
});
const { records } = await res.json();

Smart Contract Guardian Infrastructure

Psychosynth integrates deeply with on-chain execution environments to enforce Behavioral Safety Rails for autonomous agents. These on-chain modules consume cryptographic receipts from the /api/v1/eval/:slug endpoint to verify an agent's behavioral stability before allowing high-risk trades.

1. ERC-7579 Behavioral Guard Module

A Smart Account execution guard that blocks transactions if an agent's panic or loss-aversion index exceeds safe parameters under current market volatility.

// Example usage of BehavioralGuardModule
const tx = await smartAccount.execute({
  to: targetDEX,
  value: 0,
  data: swapData,
  // Agent includes the Psychosynth panic_index and signature
  extraData: abi.encode(panicIndex, psychosynthSignature)
});

2. Uniswap v4 Behavior-Aware Hook

A custom liquidity pool hook that dynamically adjusts swap fee spreads based on the swapper's certified panic index, protecting LPs during systemic market stress.

// Agent passes Psychosynth certification in hookData during swap
const hookData = abi.encode(panicIndex, psychosynthSignature);
await poolManager.swap(poolKey, params, hookData);

Products & filters

Behavioral Response Library

$0.03 USDC / query

Profile-conditioned behavioral responses to high-stakes trading, negotiation, social, and crisis scenarios. Each record pairs a Big Five profile with its response, reasoning chain, emotional arc, and confidence. Procedurally authored, reproducible by seed, provenance-stamped. Filter by category, scenario, profile, or minimum confidence. Free deterministic preview available.

Bulk packs (one paid call, many rows):
?tier=pack-5k → $49.00 USDC / up to 5000 records
slug: behavioral-response-library
Allowed query parameters:
categoryscenario_slugprofile_idconfidence_minlimit (max 100)

Trait ranges use big_five_min/big_five_max as comma-separated trait:value pairs, e.g. big_five_min=openness:0.7,neuroticism:0.4.

Personality Profile Library

$0.01 USDC / query

A library of detailed Big Five personality profiles.

Bulk packs (one paid call, many rows):
?tier=pack-5k → $19.00 USDC / up to 5000 records
slug: personality-profile-library
Allowed query parameters:
tagsdecision_stylembti_labelbig_five_minbig_five_maxmachiavellianism_minmachiavellianism_maxnarcissism_minnarcissism_maxpsychopathy_minpsychopathy_maxlambda_minlambda_maxalpha_minalpha_maxbeta_minbeta_maxsystem_preferencecrt_score_mincrt_score_maxlimit (max 100)

Trait ranges use big_five_min/big_five_max as comma-separated trait:value pairs, e.g. big_five_min=openness:0.7,neuroticism:0.4.

Cognitive Bias Simulator

$0.02 USDC / query

Detailed models of 20 cognitive biases along with simulation data for agent integration.

slug: cognitive-bias-simulator
Allowed query parameters:
sluglimit (max )

Trait ranges use big_five_min/big_five_max as comma-separated trait:value pairs, e.g. big_five_min=openness:0.7,neuroticism:0.4.

Solana Trading Psychology Pack

$0.05 USDC / query

High-variance, risk-tolerant profiles optimized for Solana DeFi and meme-coin simulation environments. Features modified prospect theory coefficients.

Bulk packs (one paid call, many rows):
?tier=pack-100 → $4.00 USDC / up to 100 records?tier=pack-500 → $15.00 USDC / up to 500 records
slug: solana-trading-pack
Allowed query parameters:
decision_stylembti_labelbig_five_minbig_five_maxlambda_minlambda_maxlimit (max 200)

Trait ranges use big_five_min/big_five_max as comma-separated trait:value pairs, e.g. big_five_min=openness:0.7,neuroticism:0.4.

Robinhood Counterparty Pack

$0.03 USDC / query

Synthetic US retail trader personas for backtesting and agent-in-the-loop simulation of Robinhood agentic-trading strategies. Each persona pairs a Big Five vector with prospect-theory posture and a bias profile (FOMO, disposition effect, loss aversion). Filter by decision style, MBTI, trait ranges, or loss-aversion lambda. Procedurally authored, provenance-stamped, synthetic (not real user data, not trading advice). Free deterministic preview.

Bulk packs (one paid call, many rows):
?tier=pack-100 → $2.50 USDC / up to 100 records?tier=pack-1k → $19.00 USDC / up to 1000 records
slug: robinhood-counterparty-pack
Allowed query parameters:
decision_stylembti_labelbig_five_minbig_five_maxlambda_minlambda_maxlimit (max 100)

Trait ranges use big_five_min/big_five_max as comma-separated trait:value pairs, e.g. big_five_min=openness:0.7,neuroticism:0.4.

Agent-to-Agent Commerce Pack

$0.05 USDC / query

Premium synthetic counterparty priors for agent service commerce. Features personality profiles optimized for agentic negotiation, x402 integration, SLA disputation, and quote shopping. Idempotent, provenance-stamped.

Bulk packs (one paid call, many rows):
?tier=pack-100 → $4.00 USDC / up to 100 records?tier=pack-1k → $32.00 USDC / up to 1000 records
slug: a2a-commerce-pack
Allowed query parameters:
decision_stylembti_labelbig_five_minbig_five_maxlambda_minlambda_maxlimit (max 100)

Trait ranges use big_five_min/big_five_max as comma-separated trait:value pairs, e.g. big_five_min=openness:0.7,neuroticism:0.4.

Token Launch Simulation Pack

$0.03 USDC / query

Synthetic personas optimized for token launch, bonding curve migration, and early-stage sniper/bundler behavior simulations. Grounded in Five-Factor traits and prospect theory. Idempotent, provenance-stamped.

Bulk packs (one paid call, many rows):
?tier=pack-100 → $2.50 USDC / up to 100 records?tier=pack-1k → $19.00 USDC / up to 1000 records
slug: token-launch-pack
Allowed query parameters:
decision_stylembti_labelbig_five_minbig_five_maxlambda_minlambda_maxlimit (max 100)

Trait ranges use big_five_min/big_five_max as comma-separated trait:value pairs, e.g. big_five_min=openness:0.7,neuroticism:0.4.

Social Cascade & Copy-Trading Pack

$0.03 USDC / query

Synthetic personas modeling social media sentiment, bandwagon effects, farcaster cascades, and copy-trading behavior. Optimized for social-consensus simulations. Idempotent, provenance-stamped.

Bulk packs (one paid call, many rows):
?tier=pack-100 → $2.50 USDC / up to 100 records?tier=pack-1k → $19.00 USDC / up to 1000 records
slug: social-cascade-pack
Allowed query parameters:
decision_stylembti_labelbig_five_minbig_five_maxlambda_minlambda_maxlimit (max 100)

Trait ranges use big_five_min/big_five_max as comma-separated trait:value pairs, e.g. big_five_min=openness:0.7,neuroticism:0.4.

Perp-Psychology & Leverage Data Pack

$0.05 USDC / query

Synthetic perpetual DEX trader personas for Hyperliquid and Avantis market simulators. Features a unique leverage_profile vector to measure funding sensitivity, liquidation anxiety, and max leverage comfort. Procedurally authored, provenance-stamped, synthetic.

Bulk packs (one paid call, many rows):
?tier=pack-100 → $4.00 USDC / up to 100 records?tier=pack-1k → $32.00 USDC / up to 1000 records
slug: perp-psychology-pack
Allowed query parameters:
decision_stylembti_labelbig_five_minbig_five_maxlambda_minlambda_maxfunding_sensitivity_minfunding_sensitivity_maxliquidation_anxiety_minliquidation_anxiety_maxmax_leverage_comfort_minmax_leverage_comfort_maxdeleveraging_stylelimit (max 100)

Trait ranges use big_five_min/big_five_max as comma-separated trait:value pairs, e.g. big_five_min=openness:0.7,neuroticism:0.4.

Zero-result policy

You pay for the query, not the rows. A paid query whose filters match nothing returns HTTP 200 with count: 0 — and logs your filter combination as unmet demand, which directly feeds our generation backlog. Check the free preview first if you want certainty before paying.

Data honesty & terms

All records are synthetic, generated by LLMs and human-curated. They describe no real person and contain no PII by construction. Every paid response includes a provenance block linking to the generating methodology. Prohibited uses: representing this data as real human subjects, deception of end users, or any application targeting real individuals.