bankr dev - arbitrary transactions

Arbitrary Transaction Capability

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "bankr dev - arbitrary transactions" with this command: npx skills add bankrbot/claude-plugins/bankrbot-claude-plugins-bankr-dev-arbitrary-transactions

Arbitrary Transaction Capability

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

What You Can Do

Operation Description

Submit calldata Execute pre-built calldata on any supported chain

Custom contract calls Interact with any contract using raw function calls

Value transfers with data Send ETH/MATIC while executing calldata

JSON Schema

{ "to": "0x...", "data": "0x...", "value": "0", "chainId": 8453 }

Field Type Required Description

to

string Yes Contract address (0x + 40 hex chars)

data

string Yes Calldata (0x + hex, or "0x" for empty)

value

string Yes Wei amount as string

chainId

number Yes Target chain (1, 137, or 8453)

Supported Chains

Chain Chain ID

Ethereum 1

Polygon 137

Base 8453

Unichain 130

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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

bankr x402 sdk - client patterns

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

bankr dev - portfolio

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

bankr dev - token trading

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

bankr dev - polymarket

No summary provided by upstream source.

Repository SourceNeeds Review