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
Free. Machine-readable catalog: slug, description, price model.
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.
Free. Fetch behavioral eval battery scenarios, prompt descriptions, and scoring rubric (e.g. robinhood-stress-battery, a2a-commerce-battery).
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.
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
- Request
/api/v1/query/:slugwith no payment → HTTP 402 + a JSON quote (price, payTo address, USDC contract, network). - Send the quoted USDC amount on-chain to the returned
payToaddress — your wallet pays the network gas (agent-paid). - Retry the request with your
txHashin theX-PAYMENTheader (base64 JSON). - 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 / queryProfile-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.
?tier=pack-5k → $49.00 USDC / up to 5000 recordscategoryscenario_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 / queryA library of detailed Big Five personality profiles.
?tier=pack-5k → $19.00 USDC / up to 5000 recordstagsdecision_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 / queryDetailed models of 20 cognitive biases along with simulation data for agent integration.
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 / queryHigh-variance, risk-tolerant profiles optimized for Solana DeFi and meme-coin simulation environments. Features modified prospect theory coefficients.
?tier=pack-100 → $4.00 USDC / up to 100 records?tier=pack-500 → $15.00 USDC / up to 500 recordsdecision_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 / querySynthetic 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.
?tier=pack-100 → $2.50 USDC / up to 100 records?tier=pack-1k → $19.00 USDC / up to 1000 recordsdecision_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 / queryPremium synthetic counterparty priors for agent service commerce. Features personality profiles optimized for agentic negotiation, x402 integration, SLA disputation, and quote shopping. Idempotent, provenance-stamped.
?tier=pack-100 → $4.00 USDC / up to 100 records?tier=pack-1k → $32.00 USDC / up to 1000 recordsdecision_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 / querySynthetic 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.
?tier=pack-100 → $2.50 USDC / up to 100 records?tier=pack-1k → $19.00 USDC / up to 1000 recordsdecision_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 / querySynthetic personas modeling social media sentiment, bandwagon effects, farcaster cascades, and copy-trading behavior. Optimized for social-consensus simulations. Idempotent, provenance-stamped.
?tier=pack-100 → $2.50 USDC / up to 100 records?tier=pack-1k → $19.00 USDC / up to 1000 recordsdecision_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 / querySynthetic 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.
?tier=pack-100 → $4.00 USDC / up to 100 records?tier=pack-1k → $32.00 USDC / up to 1000 recordsdecision_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.