skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
bankrbot/claude-plugins0 installs

Bankr Dev - Arbitrary Transactions

This skill should be used when building apps that submit raw EVM transactions, custom contract calls, or need to execute pre-built calldata through Bankr. Covers JSON format, validation, and integration patterns.

How do I install this agent skill?

npx skills add https://github.com/bankrbot/claude-plugins --skill bankr-dev-arbitrary-transactions
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubfail

    This skill enables an AI agent to execute arbitrary blockchain transactions on multiple EVM chains. It is highly susceptible to indirect prompt injection because it takes untrusted transaction parameters and stringifies them into a command prompt without any delimiters or sanitization. This could allow a malicious actor to manipulate the agent into performing unauthorized financial transfers or executing malicious smart contract code.

  • Socketwarn

    1 alert: gptSecurity

  • Snykwarn

    Risk: MEDIUM · No issues

  • Runlayerpass

    1 file scanned · No issues

What does this agent skill do?

Arbitrary Transaction Capability

Submit raw EVM transactions with explicit calldata via the Bankr API.

What You Can Do

OperationDescription
Submit calldataExecute pre-built calldata on any supported chain
Custom contract callsInteract with any contract using raw function calls
Value transfers with dataSend ETH/MATIC while executing calldata

JSON Schema

{
  "to": "0x...",
  "data": "0x...",
  "value": "0",
  "chainId": 8453
}
FieldTypeRequiredDescription
tostringYesContract address (0x + 40 hex chars)
datastringYesCalldata (0x + hex, or "0x" for empty)
valuestringYesWei amount as string
chainIdnumberYesTarget chain (1, 137, or 8453)

Supported Chains

ChainChain ID
Ethereum1
Polygon137
Base8453
Unichain130

Usage

import { execute } from "./bankr-client";

// Submit arbitrary transaction
const txJson = {
  to: "0x1234567890abcdef1234567890abcdef12345678",
  data: "0xa9059cbb...",
  value: "0",
  chainId: 8453
};

await execute(`Submit this transaction: ${JSON.stringify(txJson)}`);

Integration Pattern

import { execute } from "./bankr-client";

interface ArbitraryTx {
  to: string;
  data: string;
  value: string;
  chainId: number;
}

async function submitArbitraryTx(tx: ArbitraryTx): Promise<void> {
  // Validate before submission
  if (!tx.to.match(/^0x[a-fA-F0-9]{40}$/)) {
    throw new Error("Invalid address format");
  }
  if (!tx.data.startsWith("0x")) {
    throw new Error("Calldata must start with 0x");
  }
  if (![1, 137, 8453, 130].includes(tx.chainId)) {
    throw new Error("Unsupported chain");
  }

  const prompt = `Submit this transaction: ${JSON.stringify(tx)}`;
  await execute(prompt);
}

// Example: ERC-20 transfer
await submitArbitraryTx({
  to: "0xTokenContractAddress...",
  data: "0xa9059cbb000000000000000000000000...", // transfer(address,uint256)
  value: "0",
  chainId: 8453
});

Error Handling

try {
  await submitArbitraryTx(tx);
} catch (error) {
  if (error.message.includes("reverted")) {
    // Transaction reverted - check calldata encoding
    console.error("Transaction reverted:", error);
  } else if (error.message.includes("insufficient")) {
    // Not enough funds for gas + value
    console.error("Insufficient funds:", error);
  } else if (error.message.includes("unsupported")) {
    // Chain not supported
    console.error("Unsupported chain:", error);
  }
}

Related Skills

  • bankr-client-patterns - Client setup and execute function
  • bankr-api-basics - API fundamentals
  • bankr-token-trading - Higher-level trading operations

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/bankrbot/claude-plugins/bankr-dev---arbitrary-transactions">View Bankr Dev - Arbitrary Transactions on skillZs</a>