Servidor MCP

RAVN

exchange.ravn/ravn
Cripto y Web3 Público y accesible MCP 2025-11-25

Qué hace este MCP

Provides quotes, execution payloads, status tracking, and token or chain discovery for non-custodial cross-chain cryptocurrency swaps.

ravn_btc_coverage
Which tokens actually route from native Bitcoin
For a swap where native BTC is the source, not every token on the destination chain is reachable. Returns which of ravn_tokens's list on `chainId` a BTC venue can actually route to, and how many venues serve each, so you can build a token list that matches what will really quote instead of discovering it one NO_LIQUIDITY at a time. BTC-as-source only — selling a token INTO BTC isn't restricted the same way (nearly any token can be sold into BTC), so this has nothing useful to say about that direction.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['chainId'], 'properties': {'apiKey': {'type': 'string', 'description': 'Your RAVN API key, if you have one â\x80\x94 raises your rate limit'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'The destination chain to check BTC-source coverage on'}}}
Esquema de salida
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['data', 'meta'], 'properties': {'data': {'type': 'object', 'required': ['chainId', 'filtered', 'coverage'], 'properties': {'chainId': {'type': 'number', 'description': 'Echoes the requested chain'}, 'coverage': {'type': 'object', 'description': 'Lowercased token address to the number of BTC venues (1-3) that route to it from native Bitcoin. Tokens no venue serves are omitted, not listed at 0', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'number'}}, 'filtered': {'type': 'boolean', 'description': "False means the upstream venue lists couldn't be reached right now â\x80\x94 coverage is empty and the answer is unknown, not 'nothing routes'. Treat like an outage: don't filter your token list on it"}}, 'additionalProperties': False}, 'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
ravn_btc_prepare_send
Prepare a signable Bitcoin transaction for a RAVN DEPOSIT
Turns a DEPOSIT-type ravn_execute result (depositAddress + depositAmount) into a ready-to-sign PSBT, so you don't have to write your own UTXO selection and fee-estimation code. Fetches your UTXOs and the current network fee rate from mempool.space (public, no auth). RAVN never sees or touches a private key — sign the returned PSBT with your own wallet and broadcast it yourself. Only one signer is ever needed (unlike PSBT flows that require coordinating signatures across multiple UTXO-holding wallets), because every RAVN BTC-source venue resolves to a plain single-recipient payment.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['fromAddress', 'toAddress', 'amountSats'], 'properties': {'network': {'enum': ['mainnet', 'testnet'], 'type': 'string', 'description': 'Defaults to mainnet'}, 'toAddress': {'type': 'string', 'description': 'depositAddress from ravn_execute'}, 'amountSats': {'type': 'string', 'description': 'depositAmount from ravn_execute, in satoshis'}, 'fromAddress': {'type': 'string', 'description': 'Your Bitcoin address holding the UTXOs to spend â\x80\x94 native SegWit (bc1qâ\x80¦) or Taproot (bc1pâ\x80¦) only'}, 'feeRateSatsPerVb': {'type': 'number', 'description': "Omit to use mempool.space's current halfHourFee estimate", 'exclusiveMinimum': 0}}}
Esquema de salida
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['error'], 'properties': {'error': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['psbtBase64', 'inputCount', 'totalInputSats', 'feeRateSatsPerVb', 'estimatedFeeSats', 'changeSats'], 'properties': {'changeSats': {'type': 'string'}, 'inputCount': {'type': 'number'}, 'psbtBase64': {'type': 'string'}, 'totalInputSats': {'type': 'string'}, 'estimatedFeeSats': {'type': 'string'}, 'feeRateSatsPerVb': {'type': 'number'}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
ravn_chains
List every chain RAVN supports
Every chain RAVN lists a token registry for (see ravn_tokens). Static, doesn't change per request, safe to cache instead of hardcoding a chain table.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'apiKey': {'type': 'string', 'description': 'Your RAVN API key, if you have one â\x80\x94 raises your rate limit'}}}
Esquema de salida
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['data', 'meta'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'required': ['chainId', 'name', 'shortName', 'nativeCurrency', 'explorerUrl'], 'properties': {'name': {'type': 'string'}, 'chainId': {'type': 'number'}, 'logoUrl': {'type': 'string'}, 'shortName': {'type': 'string'}, 'explorerUrl': {'type': 'string'}, 'nativeCurrency': {'type': 'object', 'required': ['name', 'symbol', 'decimals'], 'properties': {'name': {'type': 'string'}, 'symbol': {'type': 'string'}, 'decimals': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
ravn_execute
Execute a RAVN swap quote
Turn a quoteToken from ravn_quote into an execution payload. Returns one of three shapes (executionType): TRANSACTION (sign and broadcast yourself), SIGNATURE (sign, RAVN submits), or DEPOSIT (send the input asset to a given address). RAVN never takes custody of funds — you always sign or send from your own wallet. TRANSACTION and SIGNATURE may also include an `approval` — an ERC-20 approve() you must broadcast and wait to be MINED before the transaction/signature, or it fails (reverts on TRANSACTION; on SIGNATURE the order is accepted and silently never fills). Only present when the sold token needs it — omitted for native-coin sells and already-approved tokens.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['quoteToken'], 'properties': {'apiKey': {'type': 'string', 'description': 'Your RAVN API key, if you have one â\x80\x94 raises your rate limit'}, 'quoteToken': {'type': 'string', 'description': 'The quoteToken returned by ravn_quote'}, 'refundAddress': {'type': 'string', 'description': 'Late-bound refund recipient if the swap fails, honoured by the same venues as destinationAddress. Every other venue fixes the refund address when it prices, and a DIFFERENT one here is rejected rather than silently ignored; supply refundAddress on ravn_quote instead'}, 'destinationAddress': {'type': 'string', 'description': 'Late-bound output recipient, honoured by venues that bind at execution time (Chainflip, Garden, Layerswap, Mayan, NEAR Intents, Rift, 2-hop). Every other venue fixes the recipient when it prices: a DIFFERENT address here is rejected rather than silently ignored. Supply destinationAddress on ravn_quote instead, which every venue honours'}}}
Esquema de salida
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['data', 'meta'], 'properties': {'data': {'type': 'object', 'required': ['executionType', 'quoteToken'], 'properties': {'submit': {'type': 'object', 'description': "SIGNATURE only: { url, payload? } â\x80\x94 POST the signed payload(s) to ravn_status's ref via /api/v1/submit-signature", 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'deposit': {'type': 'object', 'description': 'DEPOSIT only', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'approval': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'statusRef': {'type': 'string', 'description': 'Poll ravn_status with this. Always set for DEPOSIT and compose; TRANSACTION otherwise uses the origin tx hash'}, 'typedData': {'type': 'object', 'description': 'SIGNATURE only', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'quoteToken': {'type': 'string', 'description': 'Pass to ravn_submit_signature and ravn_status. On compose this is the post-bind token from execute, not the original quote token'}, 'transaction': {'type': 'object', 'description': 'TRANSACTION only', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'approvalData': {'type': 'object', 'description': 'SIGNATURE only, 0x Gasless: a second EIP-712 payload some venues need signed for the approval itself', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'executionType': {'enum': ['DEPOSIT', 'TRANSACTION', 'SIGNATURE'], 'type': 'string'}}, 'additionalProperties': False}, 'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
ravn_health
Check RAVN venue health
Liveness check across every venue RAVN routes through — call before a swap if you want to know whether a route is degraded ahead of time.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Esquema de salida
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['data', 'meta'], 'properties': {'data': {'type': 'object', 'required': ['status', 'venues'], 'properties': {'status': {'enum': ['ok', 'degraded'], 'type': 'string'}, 'venues': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'healthy'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'healthy': {'type': 'boolean'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
ravn_quote
Get a RAVN swap quote
Get a swap quote from RAVN — same-chain or cross-chain, across 17 chains including native (non-wrapped) Bitcoin and Solana as source or destination. Free, no API key or payment required. Returns a quoteToken; pass it to ravn_execute to get a signable/broadcastable execution payload.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['inputChainId', 'outputChainId', 'inputToken', 'outputToken', 'inputAmount', 'userAddress'], 'properties': {'apiKey': {'type': 'string', 'description': 'Your RAVN API key, if you have one â\x80\x94 raises your rate limit'}, 'inputToken': {'type': 'string', 'description': "Token contract address, or 0xEeeeeEeeeEeEeeEeEeEeeeEEeeeeEeeeeeeeEEeE for the chain's native coin"}, 'inputAmount': {'type': 'string', 'description': "Positive integer string, in the input token's smallest unit (no decimals)"}, 'outputToken': {'type': 'string', 'description': "Token contract address, or 0xEeeeeEeeeEeEeeEeEeEeeeEEeeeeEeeeeeeeEEeE for the chain's native coin"}, 'rankingMode': {'enum': ['best_output', 'fastest'], 'type': 'string', 'description': 'best_output (default) picks the highest net output; fastest picks the quickest-settling quote within slippageBps'}, 'slippageBps': {'type': 'integer', 'maximum': 5000, 'minimum': 1, 'description': 'Max acceptable slippage in basis points'}, 'userAddress': {'type': 'string', 'description': 'Address the input asset will be sent from'}, 'confidential': {'type': 'boolean', 'description': "Settle privately via NEAR Intents' Confidential Intents so the deposit and payout can't be linked on-chain. Only NEAR quotes it (NO_LIQUIDITY if it can't, never a public fallback). ~0.3 bps extra on EVM-to-EVM, ~5-8 bps extra when Bitcoin or Solana is a leg, and it can settle slower than a public swap (Bitcoin-source: 13 min public vs 43 min confidential) â\x80\x94 read estimatedTimeSeconds before executing"}, 'inputChainId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Numeric chain id, e.g. 1=Ethereum, 8453=Base, -1=Bitcoin, -2=Solana â\x80\x94 see ravn_chains for the full list, or ravn_health for live venue status'}, 'excludeVenues': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Drop specific venues from this race, e.g. a risk objection to one of them or ravn_health showing it degraded. Naming a venue that was never eligible for this pair is a no-op, not an error'}, 'outputChainId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Numeric chain id, e.g. 1=Ethereum, 8453=Base, -1=Bitcoin, -2=Solana â\x80\x94 see ravn_chains for the full list, or ravn_health for live venue status'}, 'refundAddress': {'type': 'string', 'description': 'Where to refund the input asset if the swap fails. Required here, at quote time, for a Bitcoin-source Relay or THORChain quote â\x80\x94 neither has an execute-time re-bind, so omitting it returns a priced-but-unexecutable preview and supplying it later on ravn_execute has no effect. Other BTC-source venues (Garden, Chainflip, Rift) support binding this at execute time instead. Validated against the INPUT chain (refunds are paid back on the origin), with the same non-wallet-address check as destinationAddress'}, 'destinationAddress': {'type': 'string', 'description': "Where output should land, if different from userAddress. Required here, at quote time, to get an executable quote from Relay (Bitcoin as the source), THORChain (Bitcoin either direction), Across (a Solana-touching route), or Eco (a cross-ecosystem route) â\x80\x94 omit it there and you get back a priced-but-unexecutable preview instead (see ravn_quote's executable), not an error. A malformed address, one from the wrong ecosystem, or a known non-wallet address (a RAVN-listed token's mint/contract, this swap's own tokens, the native-coin sentinel, burn addresses, Solana core programs, and via an on-chain lookup a Solana token account or program â\x80\x94 the token-account error names the owning wallet, which is the address to use) IS an error here â\x80\x94 funds sent there are unrecoverable. Omit the field rather than passing an empty string; an empty string is treated as omitted"}}}
Esquema de salida
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['data', 'meta'], 'properties': {'data': {'type': 'object', 'required': ['quoteToken', 'venue', 'routeType', 'input', 'output', 'fee', 'executable', 'slippage', 'gas', 'inputUsd', 'outputUsd', 'estimatedTimeSeconds', 'estimatedTimeIsGuess', 'expiresAt', 'alternatives'], 'properties': {'fee': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'gas': {'anyOf': [{'type': 'object', 'required': ['native', 'nativeSymbol', 'usd', 'estimated'], 'properties': {'usd': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'native': {'type': 'string'}, 'estimated': {'type': 'boolean'}, 'nativeSymbol': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'The native gas the user must hold; null on gasless venues'}, 'hops': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'description': '2-hop / dest-call: the venues actually used. Sign hop 1; hop 2 is a unique deposit'}, 'input': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'venue': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'output': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'inputUsd': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "USD value of the input amount, same price source as gas.usd. Null when the token can't be priced"}, 'slippage': {'anyOf': [{'type': 'object', 'required': ['bps', 'isFirm', 'guaranteedMin'], 'properties': {'bps': {'type': 'number'}, 'isFirm': {'type': 'boolean'}, 'guaranteedMin': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Null when the venue reports no slippage bound'}, 'expiresAt': {'type': 'number'}, 'outputUsd': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'USD value of the output amount. Compare against inputUsd for price impact'}, 'routeType': {'type': 'string'}, 'executable': {'type': 'boolean', 'description': 'False = preview-only price, priced against a placeholder destination/refund address. ravn_execute will fail with QUOTE_NOT_EXECUTABLE â\x80\x94 request a fresh quote with destinationAddress/refundAddress supplied instead'}, 'quoteToken': {'type': 'string', 'description': 'Opaque token â\x80\x94 pass to ravn_execute'}, 'alternatives': {'type': 'array', 'items': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description': 'Every other venue that raced and produced a usable quote, best output first. Each has its own quoteToken to pass to ravn_execute instead. Empty when no other venue could serve this pair, or when a route was excluded via excludeVenues'}, 'estimatedTimeIsGuess': {'type': 'boolean', 'description': "True when the time is RAVN's estimate, not the venue's own figure"}, 'estimatedTimeSeconds': {'type': 'number'}}, 'additionalProperties': False}, 'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
ravn_status
Check RAVN swap status
Poll the status of a swap by its quoteToken and ref from ravn_execute (statusRef, deposit address, or origin tx hash). Use the quoteToken execute returned — compose rebinds hop 1 onto hop 2's deposit. Status is authoritative where the venue exposes it; a swap the venue can't track reports 'unknown' rather than a guess.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['quoteToken', 'ref'], 'properties': {'ref': {'type': 'string', 'description': 'deposit address (DEPOSIT venues) or statusRef (SIGNATURE venues) from ravn_execute'}, 'apiKey': {'type': 'string', 'description': 'Your RAVN API key, if you have one â\x80\x94 raises your rate limit'}, 'quoteToken': {'type': 'string', 'description': 'The quoteToken from ravn_quote â\x80\x94 the venue is decoded from it'}}}
Esquema de salida
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['data', 'meta'], 'properties': {'data': {'type': 'object', 'required': ['status', 'venue'], 'properties': {'venue': {'type': 'string'}, 'status': {'type': 'string'}, 'txHash': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'The destination-chain tx that paid the user out, when the venue names one. Only populated once status is terminal (success/refunded/failed), never while still in flight'}, 'tracking': {'type': 'string', 'const': 'unavailable', 'description': 'Present instead of venueStatus when this venue has no live tracker yet'}, 'venueStatus': {'type': 'string'}, 'deliveredAmount': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "Actual delivered output, in the output token's smallest unit, when the venue exposes it"}}, 'additionalProperties': False}, 'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
ravn_submit_signature
Submit a signed RAVN order
For a SIGNATURE-type ravn_execute result only: submit the signature(s) you collected (over typedData, and approvalData if present) to actually place the order. RAVN decodes the venue from quoteToken and routes to the right venue-specific submit path — you never touch a per-venue endpoint. Returns a statusRef — pass it to ravn_status as `ref` to poll this swap.
Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['quoteToken', 'signature'], 'properties': {'apiKey': {'type': 'string', 'description': 'Your RAVN API key, if you have one â\x80\x94 raises your rate limit'}, 'signature': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]+$', 'description': 'Signature over the typedData from ravn_execute'}, 'quoteToken': {'type': 'string', 'description': 'The quoteToken from ravn_quote'}, 'approvalSignature': {'type': 'string', 'pattern': '^0x[0-9a-fA-F]+$', 'description': '0x Gasless only: signature over approvalData, when ravn_execute returned one'}}}
Esquema de salida
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['data', 'meta'], 'properties': {'data': {'type': 'object', 'required': ['statusRef', 'venue'], 'properties': {'venue': {'type': 'string'}, 'statusRef': {'type': 'string', 'description': 'Pass to ravn_status as `ref` to poll this swap'}}, 'additionalProperties': False}, 'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
ravn_tokens
List RAVN's token registry for a chain
RAVN's own listed token registry for one chain — populate a token picker without hardcoding one. This is "what RAVN knows about and might route", not a per-pair routability guarantee for any specific pair; call ravn_quote to check that.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['chainId'], 'properties': {'apiKey': {'type': 'string', 'description': 'Your RAVN API key, if you have one â\x80\x94 raises your rate limit'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Numeric chain id, e.g. 1=Ethereum, 8453=Base, -1=Bitcoin, -2=Solana â\x80\x94 see ravn_chains for the full list, or ravn_health for live venue status'}}}
Esquema de salida
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['data', 'meta'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'required': ['symbol', 'name', 'address', 'decimals', 'chainId', 'isNative'], 'properties': {'name': {'type': 'string'}, 'symbol': {'type': 'string'}, 'address': {'type': 'string'}, 'chainId': {'type': 'number'}, 'logoUrl': {'type': 'string'}, 'decimals': {'type': 'number'}, 'isNative': {'type': 'boolean'}}, 'additionalProperties': False}}, 'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
ravn_tokens_resolve
Resolve a token address to its metadata
Resolve an arbitrary token address to its metadata (symbol, name, decimals) via an on-chain read — for a paste-any-address flow, when the token isn't necessarily on ravn_tokens's list.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['chainId', 'address'], 'properties': {'apiKey': {'type': 'string', 'description': 'Your RAVN API key, if you have one â\x80\x94 raises your rate limit'}, 'address': {'type': 'string', 'description': 'Token contract address / mint to resolve'}, 'chainId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Numeric chain id, e.g. 1=Ethereum, 8453=Base, -1=Bitcoin, -2=Solana â\x80\x94 see ravn_chains for the full list, or ravn_health for live venue status'}}}
Esquema de salida
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['data', 'meta'], 'properties': {'data': {'type': 'object', 'required': ['token'], 'properties': {'token': {'type': 'object', 'required': ['symbol', 'name', 'address', 'decimals', 'chainId', 'isNative'], 'properties': {'name': {'type': 'string'}, 'symbol': {'type': 'string'}, 'address': {'type': 'string'}, 'chainId': {'type': 'number'}, 'logoUrl': {'type': 'string'}, 'decimals': {'type': 'number'}, 'isNative': {'type': 'boolean'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['requestId', 'version'], 'properties': {'version': {'type': 'string'}, 'requestId': {'type': 'string'}}, 'additionalProperties': False}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'details': {}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
Modificado
ravn_status
1 de October de 2026 a las 02:44
Modificado
ravn_quote
29 de September de 2026 a las 02:51
Modificado
ravn_execute
25 de September de 2026 a las 02:50
Modificado
ravn_quote
25 de September de 2026 a las 02:50
Modificado
ravn_status
21 de September de 2026 a las 02:49
Modificado
ravn_execute
21 de September de 2026 a las 02:49
Modificado
ravn_quote
21 de September de 2026 a las 02:49
Añadido
ravn_btc_prepare_send
17 de September de 2026 a las 12:39
Añadido
ravn_chains
17 de September de 2026 a las 12:39
Añadido
ravn_btc_coverage
17 de September de 2026 a las 12:39
Añadido
ravn_tokens_resolve
17 de September de 2026 a las 12:39
Añadido
ravn_tokens
17 de September de 2026 a las 12:39
Añadido
ravn_health
17 de September de 2026 a las 12:39
Añadido
ravn_status
17 de September de 2026 a las 12:39
Añadido
ravn_submit_signature
17 de September de 2026 a las 12:39
Añadido
ravn_execute
17 de September de 2026 a las 12:39
Añadido
ravn_quote
17 de September de 2026 a las 12:39