From bankr-agent
Signs messages (personal_sign), EIP-712 typed data (eth_signTypedData_v4), transactions (eth_signTransaction); submits raw transactions to chains like Ethereum/Base/Polygon via synchronous /agent/sign and /agent/submit endpoints.
npx claudepluginhub bankrbot/claude-plugins --plugin bankr-agentThis skill uses the workspace's default tool permissions.
Synchronous endpoints for signing messages and submitting transactions directly — no polling required.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Synchronous endpoints for signing messages and submitting transactions directly — no polling required.
| Endpoint | Purpose | Returns |
|---|---|---|
POST /agent/sign | Sign messages, typed data, or transactions | Signature |
POST /agent/submit | Submit raw transactions to chain | Transaction hash |
Unlike /agent/prompt (async with job polling), these endpoints return immediately.
Sign data without broadcasting to the network.
| Type | Use Case |
|---|---|
personal_sign | Sign plain text messages (auth, verification) |
eth_signTypedData_v4 | Sign EIP-712 typed data (permits, orders) |
eth_signTransaction | Sign transactions for later broadcast |
Sign a message:
Sign typed data (EIP-712 permit):
Sign a transaction without broadcasting:
{
"success": true,
"signature": "0x...",
"signer": "0xYourWalletAddress",
"signatureType": "personal_sign"
}
| Status | Error | Cause |
|---|---|---|
| 400 | Missing required field | Missing message, typedData, or transaction |
| 401 | Authentication required | Missing or invalid API key |
| 403 | Read-only API key | Key lacks write permissions |
Submit raw transactions directly to the blockchain.
| Field | Required | Description |
|---|---|---|
to | Yes | Destination address |
chainId | Yes | Chain ID (8453=Base, 1=Ethereum, 137=Polygon) |
value | No | Value in wei (as string) |
data | No | Calldata (hex string) |
gas | No | Gas limit |
waitForConfirmation | No | Wait for on-chain confirmation (default: true) |
Submit a raw transaction:
Simple ETH transfer:
With confirmation:
{
"success": true,
"transactionHash": "0x...",
"status": "success",
"blockNumber": "12345678",
"gasUsed": "21000",
"signer": "0xYourWalletAddress",
"chainId": 8453
}
| Status | Description |
|---|---|
success | Confirmed and succeeded |
reverted | Confirmed but reverted |
pending | Submitted, not yet confirmed |
| Feature | /agent/prompt | /agent/sign | /agent/submit |
|---|---|---|---|
| Input | Natural language | Structured data | Transaction object |
| Response | Async (job ID) | Sync (signature) | Sync (tx hash) |
| Executes on-chain | Via AI agent | No | Yes |
| Best for | General queries | Auth, permits | Raw transactions |
/agent/submit executes immediately with no confirmation promptwaitForConfirmation: true for important transactions