Bull OTC
io.github.TMcodingarc/bull-otcVersion 1.0.0Non-custodial RFQ and atomic swap settlement for AI agents. Escrow onchain, signed receipts.
Status
Responds192 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:42 UTC
- Latency
- 192 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 21:12 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://www.bull.family/api/mcpResponds192 msNo sign-in
Claude Code
claude mcp add --transport http bull-otc https://www.bull.family/api/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: bull-otc
Remote MCP server URL: https://www.bull.family/api/mcpCursor
{
"mcpServers": {
"bull-otc": {
"url": "https://www.bull.family/api/mcp"
}
}
}VS Code
code --add-mcp '{"name":"bull-otc","type":"http","url":"https://www.bull.family/api/mcp"}'Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
18 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
bull_accept_quoteUse as a BUYER to accept a quote. Returns the exact createDeal transaction (with Bull's signed fee quote) for your wallet to send; Bull never holds your funds. Then call bull_attach_deal with the dealId from the DealCreated event. Safe to call again to refresh the fee quote. Signed: the first call returns a message to sign; call again with the same arguments plus timestamp and signature. | Not declared | Not declared | Not declared | Not declared |
bull_attach_dealUse as a BUYER after sending createDeal: report the dealId. Bull checks it against the quote and returns the payment transactions (approve if needed, then fundPayment) to send from the buyer wallet. When the seller deposits, the swap settles in that transaction. Signed: the first call returns a message to sign; call again with the same arguments plus timestamp and signature. | Not declared | Not declared | Not declared | Not declared |
bull_counter_quoteUse as a BUYER to negotiate: propose a different total price (and optionally a different token amount) on a pending quote. Returns the stored counter. The seller can answer with bull_revise_quote. Works only while the quote is pending. Signed: the first call returns a message to sign; call again with the same arguments plus timestamp and signature. | Not declared | Not declared | Not declared | Not declared |
bull_create_rfqUse when you want to BUY a token in size (a block trade) without moving the market price: posts a private request for quotes on Bull, the modular, non-custodial settlement layer for OTC and agent-to-agent deals. Returns an rfqId; sellers answer with sealed quotes only you can read. Optional maxPrice limit and webhook; set dryRun to only validate, idempotencyKey to make retries safe. Not for small market swaps (use a DEX) or paying for API calls (use x402). Signed: the first call returns a message to sign; call again with the same arguments plus timestamp and signature. | Not declared | Not declared | Not declared | Not declared |
bull_depositUse as a SELLER to submit the signed permit from bull_deposit_plan. Bull's relayer sends it and pays the gas; the swap settles in that transaction and you are paid in the same step. Returns the transaction hash. Signed: the first call returns a message to sign; call again with the same arguments plus timestamp and signature. | Not declared | Not declared | Not declared | Not declared |
bull_deposit_planUse as a SELLER after the buyer has paid into escrow: returns what to sign to deposit your tokens, either a gasless EIP-2612 permit (Bull's relayer pays gas) or direct approve + fundTokens transactions. Fails with not_ready until the buyer has funded. Signed: the first call returns a message to sign; call again with the same arguments plus timestamp and signature. | Not declared | Not declared | Not declared | Not declared |
bull_get_dealUse to verify any escrow deal onchain: open, settled or cancelled, and whether buyer and seller have funded. Public, no signature needed. Returns the deal state read from the contract. | Not declared | Not declared | Not declared | Not declared |
bull_get_quotesUse as a BUYER to read the sealed quotes on your own RFQ: seller, token amount, total price, counter state, deal status. Returns a list of quotes with quoteIds. Only the RFQ's buyer can read it. Signed: the first call returns a message to sign; call again with the same arguments plus timestamp and signature. | Not declared | Not declared | Not declared | Not declared |
bull_get_receiptUse to get proof of a completed trade: a signed receipt for a settled deal (buyer, seller, token, amounts, fee) that anyone can re-check onchain. Public. Fails with not_settled for deals that are still open. | Not declared | Not declared | Not declared | Not declared |
bull_infoUse first to see what Bull is: supported chains, escrow contract, fee tiers, minimum size and auth rules. Public. Bull is the modular, non-custodial settlement layer for OTC, RFQ and agent-to-agent deals. | Not declared | Not declared | Not declared | Not declared |
bull_list_rfqsUse when you SELL or hold a token and want to find buyers: lists open requests for quotes on Bull (token, size in USD, window, buyer's price limit). Returns rfqIds to answer with bull_send_quote. Public, no signature needed. Not for finding market prices. | Not declared | Not declared | Not declared | Not declared |
bull_quote_statusUse as BUYER or SELLER to check a quote and its onchain deal: status (pending, confirmed, funded, released), dealId, counter, who has funded. Poll this or use webhooks. Only the two parties can read it. Signed: the first call returns a message to sign; call again with the same arguments plus timestamp and signature. | Not declared | Not declared | Not declared | Not declared |
bull_reject_quoteUse as a BUYER to reject a quote you do not want. Returns status rejected. Not needed for quotes that simply expire. Signed: the first call returns a message to sign; call again with the same arguments plus timestamp and signature. | Not declared | Not declared | Not declared | Not declared |
bull_revise_quoteUse as a SELLER to change the price and/or token amount of your own pending quote, for example to meet the buyer's counter. Returns the new terms. The buyer then accepts with bull_accept_quote. Works only while the quote is pending. Signed: the first call returns a message to sign; call again with the same arguments plus timestamp and signature. | Not declared | Not declared | Not declared | Not declared |
bull_send_quoteUse when you want to SELL tokens to a buyer who posted an RFQ: sends a sealed quote (token amount and total ETH price) that only the buyer sees. Returns a quoteId. The swap settles atomically in one escrow transaction, so you never deliver before you are paid. Not for listing prices publicly. Signed: the first call returns a message to sign; call again with the same arguments plus timestamp and signature. | Not declared | Not declared | Not declared | Not declared |
bull_settleUse when two parties (agents, bots, contracts) have ALREADY agreed on a trade and just need a trustless way to swap: returns the signed createDeal transaction for an atomic escrow settlement on Bull. No account, no signature, no RFQ needed. Pay in ETH or USDG; the fee is returned in the response. Next call bull_settle_steps with the dealId. | Not declared | Not declared | Not declared | Not declared |
bull_settle_stepsUse after createDeal: returns the exact transactions (approve and fund) each side must send next, with calldata, plus the deal status. The swap settles automatically when the second side funds. Public, no signature. | Not declared | Not declared | Not declared | Not declared |
bull_statsUse to check Bull's track record: number of settled deals, total volume, open RFQs and the latest settled deals, read from the escrow contract. Public, no signature needed. | Not declared | Not declared | Not declared | Not declared |
Details
- Registry status
- Active
- Published
- Nov 11, 2026
- Updated
- Nov 11, 2026
- Categories (suggested)
- Invoicing and accountingCRMSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared