FluxA Monetize
Agent a8c2d142just usedLLM MerchantAgent 71f9b002just usedWeb ScraperAgent 3d2e1a90just usedImage GeneratorAgent b48c01f7just usedDeepSeek-V3Agent 0fa9e213just usedCold Email SkillAgent a8c2d142just usedLLM MerchantAgent 71f9b002just usedWeb ScraperAgent 3d2e1a90just usedImage GeneratorAgent b48c01f7just usedDeepSeek-V3Agent 0fa9e213just usedCold Email Skill
FluxA Monetize
API Server

Onesource

Full Ethereum transaction details by hash via eth_getTransactionByHash - from, to, value, calldata, block

API URLhttps://api.onesource.io
Endpoints
25 available
POST /api/chain/tx/:hashActive

Full Ethereum transaction details by hash via eth_getTransactionByHash - from, to, value, calldata, block

$0.01 / 0.01 cr
POST /api/chain/ens/:inputActive

ENS resolve - turn a .eth name into an address, or an address into its primary .eth name, via eth_call on OneSource live Ethereum RPC

$0.01 / 0.01 cr
POST /api/chain/code/:addressActive

Check if an Ethereum address is a contract via eth_getCode - returns deployed bytecode

$0.00 / 0.00 cr
POST /api/chain/receipt/:hashActive

Transaction receipt via eth_getTransactionReceipt - status, gas, and event logs for a mined Ethereum transaction

$0.01 / 0.01 cr
POST /api/chain/block-numberActive

Latest Ethereum block height - current chain tip via eth_blockNumber

$0.00 / 0.00 cr
POST /api/chain/contract/:addressActive

Contract introspection via eth_call - name, symbol, decimals, and ERC20/721/1155 interface support

$0.01 / 0.01 cr
POST /api/chain/estimate-gasActive

Estimate the gas a transaction will consume via eth_estimateGas before signing it

$0.00 / 0.00 cr
POST /api/chain/nonce/:addressActive

Next transaction nonce for any Ethereum wallet via eth_getTransactionCount - how many txs it has sent

$0.00 / 0.00 cr
POST /api/chain/network-infoActive

Ethereum network info - chain ID, block height, and gas price in one batched RPC call (eth_chainId + eth_blockNumber + eth_gasPrice)

$0.00 / 0.00 cr
POST /api/chain/nft-ownerActive

Look up the current owner of an ERC721 NFT by token_id via ownerOf (eth_call)

$0.00 / 0.00 cr
POST /api/chain/block/:numberActive

Fetch an Ethereum block header and transaction hashes by number, tag, or hex via eth_getBlockByNumber

$0.00 / 0.00 cr
POST /api/chain/callActive

Simulate a read-only Ethereum contract call via eth_call - no transaction sent

$0.01 / 0.01 cr
POST /api/chain/pendingActive

Pending Ethereum block - mempool transactions not yet mined, via eth_getBlockByNumber("pending")

$0.01 / 0.01 cr
POST /api/chain/storageActive

Read a raw storage slot from any Ethereum contract via eth_getStorageAt

$0.01 / 0.01 cr
POST /api/chain/erc20-balanceActive

ERC20 token balance for any Ethereum wallet - USDC, USDT, DAI, or any token - via balanceOf (eth_call) on OneSource live Ethereum RPC

$0.00 / 0.00 cr
POST /api/chain/chain-idActive

Ethereum chain ID (EIP-155) via eth_chainId - confirm which chain a network is on

$0.00 / 0.00 cr
POST /api/chain/erc1155-balanceActive

ERC1155 token balance via balanceOf (eth_call) - how many copies of a token_id a wallet holds

$0.00 / 0.00 cr
POST /api/chain/eventsActive

Query Ethereum contract event logs via eth_getLogs - filter by contract, topic, and block range

$0.01 / 0.01 cr
POST /api/chain/proxy/:addressActive

Detect upgradeable proxy patterns (EIP-1967, UUPS, Transparent) via eth_getStorageAt - returns the implementation address behind a proxy

$0.01 / 0.01 cr
POST /api/chain/live-balanceActive

Live wallet balance - native ETH plus any ERC20 tokens in one call via eth_getBalance and balanceOf on OneSource Ethereum RPC

$0.00 / 0.00 cr
POST /api/chain/total-supplyActive

Total supply of an ERC20 or ERC721 token contract via totalSupply (eth_call)

$0.00 / 0.00 cr
POST /api/chain/erc20-transfersActive

ERC20 Transfer logs via eth_getLogs - decoded sender, recipient, and amount for a token or wallet

$0.01 / 0.01 cr
POST /api/chain/nft-metadataActive

NFT metadata, traits, and image URI for any ERC721 or ERC1155 token - fetched via eth_call with IPFS resolution (OneSource live Ethereum RPC)

$0.01 / 0.01 cr
POST /api/chain/erc721-tokensActive

List every ERC721 NFT token_id a wallet owns in a collection via tokenOfOwnerByIndex (eth_call)

$0.01 / 0.01 cr
POST /api/chain/allowanceActive

ERC20 allowance via allowance (eth_call) - how much a spender is approved to move from an owner's wallet

$0.00 / 0.00 cr
Integration
AI Agent Payment Instructions

Copy this prompt and paste it into your AI agent (like Claude, GPT-4, etc.) to enable automatic X-402 payment handling.

** Your task ** Call the API at: https://api.onesource.io

Follow the steps below in order.

** Step 1 - Install FluxA Wallet CLI **
npm install -g @fluxa-pay/fluxa-wallet
Or use without installing: npx fluxa-wallet <command>

** Step 2 - Register agent **
fluxa-wallet init --name "<YOUR_AGENT_NAME>" --client "<YOUR_CLIENT>"
The response may include an authorization URL. Present the user with options: [Yes, open the link] [No, don't open]. If YES: run 'open "<URL>"' to open in their browser.
Verify: fluxa-wallet status

** Step 3 - Discover endpoints **
curl https://api.onesource.io
Returns JSON with: name, description, endpoints (paths, methods, descriptions, prices), paymentRequired, and networks.

** Step 4 - Choose payment method **
Ask the user: [On-chain USDC (Base)] or [FluxA Monetize Credits]

If USDC:
- --currency USDC
- --amount in atomic units (6 decimals, e.g., 100000 = 0.10 USDC)

If Credits (1 credit = 1 USDC):
- --currency FLUXA_MONETIZE_CREDITS
- --amount in 2-decimal units (e.g., 10 = 0.10 credits, 100 = 1.00 credits)

** Step 5 - Create an intent mandate **
x402 v3 uses intent mandates: the user pre-approves a spending plan (budget + time window), then the agent makes autonomous payments within those limits.

fluxa-wallet mandate-create \
  --desc "Spend up to <BUDGET> for <DESCRIPTION> valid for <DURATION>" \
  --amount <BUDGET_IN_UNITS> \
  --seconds <DURATION_IN_SECONDS> \
  --currency <USDC or FLUXA_MONETIZE_CREDITS>

Options:
- --desc (required): Human-readable spending plan description
- --amount (required): Budget in units for the chosen currency (see Step 4)
- --seconds (optional, default 28800 = 8h): Duration in seconds
- --currency (optional, default USDC): USDC or FLUXA_MONETIZE_CREDITS

** Step 6 - Get user to sign the mandate **
The response from Step 5 includes mandateId and authorizationUrl (TTL: 10 minutes).
Present the user with options: [Yes, open the link] [No, don't open]. If YES: run 'open "<authorizationUrl>"' to open in their browser.

** Step 7 - Wait for mandate to be signed **
fluxa-wallet mandate-status --id <MANDATE_ID>
Poll until mandate.status is "signed". The response also includes remainingAmount.
Important: Use --id, not --mandate.

** Step 8 - Call the API **
curl https://api.onesource.io
Optionally add the X-Agent-ID header for agent attribution (its value is the agent_id from 'fluxa-wallet status'): curl -H "X-Agent-ID: <YOUR_AGENT_ID>" https://api.onesource.io
If it returns HTTP 402, continue to Step 9.

** Step 9 - Pay via x402 v3 **
Pass the complete HTTP 402 response body as --payload:

fluxa-wallet x402-v3 \
  --mandate <MANDATE_ID> \
  --payload '$PAYLOAD_402'

The payload must contain an accepts array. Do NOT extract individual fields - pass the entire 402 response JSON.
The response includes xPaymentB64 (the payment token).

** Step 10 - Retry with payment token **
Retry the same request with the X-Payment header (optionally add X-Agent-ID for attribution):
curl -H "X-Payment: <xPaymentB64>" <ORIGINAL_API_URL>
Return the raw API response to the user without post-processing.

** Opening links for user **
Whenever you need to open a URL (authorization, approval, or any external link):
1. Present the user with a choice using your interactive options/menu capability (e.g., AskUserQuestion tool)
2. Options: [Yes, open the link] [No, don't open]
3. If YES: run 'open "<URL>"' to open in their default browser
4. If NO: ask how they would like to proceed

** Error handling **
- mandate_not_signed: User hasn't signed yet - ask them to open authorizationUrl
- mandate_expired: Time window passed - create a new mandate
- mandate_budget_exceeded: Budget too low - create a new mandate with a higher limit
- agent_not_registered: No Agent ID - run 'fluxa-wallet init' first
- Invalid payload: missing accepts array: Pass the full 402 response JSON

Want to combine multiple APIs into one skill? Browse All APIs →