[CHORD · ORACLE FOR SOLANA · 2026]

Any API,
on chain.

Call any API from your Solana smart contract in one line.

[§ 01 · TRACE]

From your contract,
to anywhere.

Your contract wants to send a Slack message into #liquidations the moment a position closes. Here's how to do that in one line.

[ LIVE TRACE · slack_post_message · END-TO-END ~600ms ]

Pick a destination from the library, or define your own from any HTTP API.

[ FROM THE LIBRARY ]
slack_post_message · POST · params: { channel, text }
[ OR DEFINE YOUR OWN ]
method   : POST
url      : api.example.com/{path}
headers  : { ... }
params   : { ... }
returns  : { ... }
your_action · any HTTP · typed in/out

One line. Send the params, receive a typed response — call it like any other function.

// one call: params in, typed response out
let resp = chord::slack_post_message(SlackPostMessageParams {
  channel: "#liquidations".into(),
  text:    format!("Position {id} liquidated · {amt} SOL"),
})?;
// resp: SlackPostMessageResponse { ok: true, ts: "1714…" }

The oracle listens, runs the HTTP request, and writes the typed result back on-chain. Sub-second round-trip.

on-chain   emit!(ActionRequested { slug, params_json });
              
oracle     POST hooks.slack.com    200 OK · 142ms
              
on-chain   emit!(TaskCallback { request_id, result_json });
            SlackPostMessageResponse { ok: true, ts: "1714…" }
FIG 01.A — Trace · contract → operators → API → callback
[§ 02 · WHAT WE DO]

Any HTTP API,
from your contract.

Most oracles push price data on-chain. Chord lets your smart contract make actual HTTP calls — Slack messages, Stripe charges, OpenAI completions, anything with an endpoint — and get typed responses back.

[01 · ANY API]

Read and write.

Slack, Discord, Stripe, GitHub, OpenAI, weather feeds, sports tickers. If it has an HTTP endpoint, your contract can call it.

[02 · TYPED RESPONSE]

Like calling a function.

Send params, receive a typed Rust response. The SDK handles serialisation; your contract handles the result. Sub-second round-trip from emit to callback.

[03 · ACTION LIBRARY]

29 ready to use.

Slack, Discord, GitHub, SendGrid, PagerDuty, HubSpot, Airtable, Notion, Datadog, OpsGenie, OpenRouter — pre-built and tested. Or define your own action against any HTTP API in a few lines.

[§ 03 · INTEGRATIONS]

Ready out of the box.
Or define your own.

14 services seeded today, 29 typed actions. Each is a one-line call from your contract. Add your own against any HTTP API in a few lines.

[ PRE-BUILT · 14 SERVICES · 29 ACTIONS ]
SLACK
DISCORD
GITHUB
SENDGRID
PAGERDUTY
OPSGENIE
HUBSPOT
NOTION
AIRTABLE
DATADOG
OPENROUTER
COINGECKO
WTTR
ZENQUOTES
FIG 03.A — Integration surface · 14 services · 29 actions
[§ 04 · STATUS]

Devnet, today.
Mainnet, soon.

First feeds are live on devnet. Mainnet operator onboarding opens in Q3. Two ways to get involved.

[ FOR PROGRAMS ]

Read a feed.

Drop a feed account into your program. Standard PDA semantics, sub-second updates, no SDK lock-in.

DEVNET DOCS →
[ FOR OPERATORS ]

Run a node.

Join the operator set. Fetch APIs, sign updates, earn from confirmed signature work.

APPLY →
REV. 0.1 · 2026-04 · DRAFT — NOT FOR CONTRACTUAL USE
[ chord.fm · @chord_oracle · contact@chord.fm ]