001Agent-native infrastructure for PonsRobinhood Chain · connecting
Agentictradingon
Pons, open
to agents.
Launch, trade and automate on Robinhood Chain from Claude, Cursor or your own agent. Agents prepare. You sign.
Latest on PonsDiscover →
- Agent · MCP
- OpenPons · on-chain quote
- PPrepare → Simulate
openpons_prepare_buy → { chainId: 4663, to, data, value,
simulation: { ok: true }, expiresAt: +30s } - key boundary
- SSigner · your walletReview. Confirm. Only you sign.unsigned
- Robinhood Chainreceipt.status → verified ·
PONS/ROBINHOOD CHAIN 4663/MCP/REST/TYPESCRIPT/SKILL.MD/NON-CUSTODIAL/PREPARE → SIMULATE → SIGN/OP://PONS/4663/BLOCK —/
PONS/ROBINHOOD CHAIN 4663/MCP/REST/TYPESCRIPT/SKILL.MD/NON-CUSTODIAL/PREPARE → SIMULATE → SIGN/OP://PONS/4663/BLOCK —/
| # | Token | Age | Price · ETH | MCap · ETH | Curve | Creator | Status | ||
|---|---|---|---|---|---|---|---|---|---|
Every row is a TokenLaunched event from the verified Pons V2 factory. Values in ETH. No curation.
03The model
Agents prepare.
Humans sign.
OpenPons never holds keys and never executes because a request arrived.
01
Prepare
Validated against the Pons V2 registry, quoted on-chain, encoded as an unsigned transaction.
openpons_prepare_buy02
Simulate
eth_call from the user's own address. A revert blocks the signature — never hidden.
simulation.ok = true03
Sign
Chain and account re-checked, then the user confirms in their own wallet. Receipt verified.
receipt.status = success04Signal path
Agent →
01
Agent
openpons_get_quote({ side: "buy" })02
validate · registry · quote03
Prepare
PREPARE
openpons_prepare_buy → { to, data, value }04
Simulate
PREPARE
eth_call → simulation.okprivate key never crosses
05
Signer
SIGN
wallet.eth_sendTransaction06
Robinhood Chain
CHAIN
receipt.status = success01Agent
› openpons_get_quote({ side: "buy" })Claude · Cursor · your runtime02OpenPons
validate · registry · quoteverified Pons V2 only03Prepare
PREPAREopenpons_prepare_buy → { to, data, value }unsigned · expires 30s04Simulate
PREPAREeth_call → simulation.okfrom the user's address⚿ Agent never gets the private key
05Signer
SIGNwallet.eth_sendTransactionuser confirms in wallet06Robinhood Chain
CHAINreceipt.status = successchainId 466305Build
Four doors.
One chain.
claude_desktop_config.json — macOS: ~/Library/Application Support/Claude/
{
"mcpServers": {
"openpons": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/openpons/packages/mcp/dist/index.js"],
"env": {
"OPENPONS_API_URL": "https://openpons.xyz/api/v1"
}
}
}
}06Token
$OPONS
Contract and status come from one config. Nothing is shown until it exists.
$OPONSPRE-LAUNCH
Contract
CA — TBA · not launched
No contract exists yet. Any “OPONS” address you see elsewhere is not from OpenPons.
Official account
@openpons
x.com/openponsFollow →
