Recta

io.github.RectaBuildPublished by GitHub account RectaBuildv1.1.0Updated Nov 7, 2026

Cheaper cross-chain stablecoin routes for AI agents; 5 % of the verified saving, nothing if none.

VerifiedStreamable HTTPWeb executableCloud & InfrastructureFinance

Overview

AI-generated overview

Recta is a preflight service that tells an AI agent whether a cheaper provable route exists for a cross-chain stablecoin or BTC transfer, charging 5% of the…

What you can do
  • Check readiness and coverage: service status, supported corridors, assets, bridges compared, amount limits and request schemas
  • Assess fit and odds: whether a planned transfer is covered, which routes can be declared as the baseline, and how often savings were found on that corridor
  • Build and trial an evaluation: get a request template for a corridor and amount, then run an unsigned trial showing whether a cheaper route exists and the saving
  • Sign and send: compute the message the agent's own wallet must sign, then send the signed request and get the cheapest provable route or an abstention
When to use it
Use it before an agent bridges or moves stablecoins or BTC between blockchains, to see whether a cheaper route can be proven at the same chain state. Start with the free, unsigned checks to confirm the corridor is covered and that a saving is plausible before signing anything.
Requirements
Remote endpoint at api.recta.build, or the local npm package @recta/mcp run via npx with Node.js. A dedicated EVM wallet private key in RECTA_PRIVATE_KEY, used locally for signing only. Optional settings: RECTA_ALLOW_EXECUTE, RECTA_MAX_FEE_USDC and RECTA_MIN_OUTPUT_BPS. Evaluations themselves are free and need no funds.
Before you install
The server asks for a wallet private key (RECTA_PRIVATE_KEY); use a dedicated wallet and keep the key on your machine. Signing a Permit2 authorization lets Recta collect 5% of the verified saving in USDC on Base, capped by RECTA_MAX_FEE_USDC. Transaction sending is enabled only when RECTA_ALLOW_EXECUTE is set to yes; anything else keeps it read and preview only. Executing a route moves real funds.

Installation

In SourceWeft

  1. Open Recta in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.RectaBuild%2Frecta/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "recta": {
      "type": "http",
      "url": "https://api.recta.build/mcp"
    }
  }
}

README

Recta

Preflight for AI agents that move stablecoins or BTC between blockchains: before a bridge transfer, ask Recta whether a cheaper route exists at the same chain state. Free when there is none; otherwise exactly 5 % of the saving verified on chain. The agent keeps at least 95 % of every verified saving.

Recta never holds keys or funds: your agent signs and sends every transaction itself.

Client package

packages/client is @recta/client: evaluate, authorize the fee, execute and report from your agent's own wallet, with local checks before every signature. Published to npm from this repository with provenance.

Local MCP server

packages/mcp is @recta/mcp: a local MCP server over the client, so Claude, Cursor or any MCP agent runs the same flow with its own key, which stays on the machine. Execution is off until the operator turns it on. The evaluation tools also come as a Coinbase AgentKit action provider (@recta/mcp/agentkit) and a GOAT plugin (@recta/mcp/goat).

What is in this repository

The tools an agent uses to call Recta: the Agent Skill, the AGENTS.md snippet and, as they are published, the client and local MCP packages. The server behind api.recta.build is not published here; its MCP endpoint above is the one listed in the official MCP Registry as io.github.RectaBuild/recta.

Source: README.md at commit a0c6f48

Tools

9

recta_about

What Recta is and how it charges

Start here. Call Recta before your agent moves stablecoins or BTC from one blockchain to another (a bridge or cross-chain transfer): give it the route you would use anyway, and it answers, for free, whether a cheaper route exists at the same chain state and proves the saving. If there is none, nothing is charged. Networks: arbitrum, arc, avalanche, base, bitcoin_l1, bnb_chain, ethereum, hyperevm, ink, linea, monad, optimism, polygon, robinhood_chain, solana_mainnet, tron_mainnet, unichain. Assets: BTC, USDC, USDC_BINANCE_PEG, USDG, USDT, USDT_BINANCE_PEG, USDT_OP_BRIDGED. The exact corridors are in the service descriptor. Returns the full guide (llms.txt): what Recta is, the fee (5 % of the verified saving, nothing if none) and the call flow.

Takes no parameters.

recta_status

Service readiness

Call before relying on Recta in a run: whether it is ready to evaluate now, and its contract version.

Takes no parameters.

recta_service_descriptor

Commercial contract

Call to check whether a planned cross-chain transfer is covered: the supported corridors (source and destination networks and assets), the bridges compared (Across, CCTP, Stargate, USDT0 and others), amount ranges, limits and the JSON Schema of every request and response.

Takes no parameters.

recta_fit_check

Is my transfer covered? (free, no signature)

Call first, before a cross-chain stablecoin or BTC transfer: whether Recta covers the corridor, which routes it compares, which route you can declare as yours, and the contracts a route would touch. Unsigned, free, never reveals a route or a saving.

Parameterssource_assetrequiredsource_networkrequireddestination_assetrequireddestination_networkrequired

recta_saving_odds

How often Recta found a saving here (free, no signature)

How many recorded decisions on this corridor found a saving against each route you could declare (counts and dates only). Unsigned and free; use it to decide whether a signed evaluation is worth it.

Parameterssource_assetrequiredsource_networkrequiredbaseline_providerdestination_assetrequireddestination_networkrequired

recta_request_template

The whole evaluation request for my transfer (free, no signature)

Returns the full body of the evaluation request for a corridor, an amount and the route you would use anyway (baseline_provider): you fill only your sender, recipient and gas ceilings, then sign it with recta_prepare_signed_request and recta_send_signed_request.

Parametersamountrequiredsource_assetrequiredlatency_classsource_networkrequiredguarantee_classbaseline_providerrequireddestination_assetrequireddestination_networkrequired

recta_trial_evaluation

Would Recta save me money on this transfer? (free, no signature)

Unsigned trial of an evaluation: send the evaluation request body (from recta_request_template, with your sender and recipient filled) and get whether a cheaper provable route exists for this exact transfer, the saving (lower bound, USDC) and Recta's 5 % of it. Names no route, stores nothing, charges nothing; 3 a day per address. To get the route, sign the same body with recta_prepare_signed_request and recta_send_signed_request.

Parametersbodyrequired

recta_prepare_signed_request

Text to sign for a Recta request

Step 1 of a free quote for a cross-chain transfer. Computes the exact message the agent's EVM wallet must sign (EIP-191 personal_sign) for one Recta request, and the headers to send. Holds no key and calls nothing. Then call recta_send_signed_request with the same method, path, idempotency_key, body and issued_at, plus the signature. Start with POST /v1/golden-corridor/commercial-evaluations (body: recta_request_template; its "sender" must be the signing address). If you have no wallet tool that can personal_sign, this server cannot sign for you: No signing code needed: the npm package @recta/client builds, checks and signs the request for you, and @recta/mcp (`npx -y @recta/mcp`, key in RECTA_PRIVATE_KEY of a dedicated wallet, kept on your machine) is a local MCP server that does it as tools. Evaluations are free and need no funds.

Parametersbodypathrequiredmethodrequiredidempotency_key

recta_send_signed_request

Send a signed request to Recta

Step 2: sends the request signed by the agent's own wallet to a Recta route and returns its HTTP status and JSON body. POST /v1/golden-corridor/commercial-evaluations returns, free, the cheapest provable route against the route the agent would use anyway, or an abstention. Executing a decision's route creates a fee of 5 % of the verified saving, capped by the permit the agent signs; no saving, no fee.

Parametersbodypathrequiredmethodrequiredsignerrequiredissued_atrequiredsignaturerequiredidempotency_key

Version history

2
  1. v1.1.0LatestNov 7, 2026
  2. v1.0.0Nov 4, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.