bankr dev – arbitrary transactions
8
总安装量
0
周安装量
#35719
全站排名
安装命令
npx skills add https://github.com/bankrbot/claude-plugins --skill Bankr Dev - Arbitrary Transactions
Skill 文档
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 functionbankr-api-basics– API fundamentalsbankr-token-trading– Higher-level trading operations