What is Midpoint

Call any off-chain endpoint from your smart contract.
Got Questions? Our team responds in 5 minutes.
See a bug in this documentation? Tell us and we'll send you $100. Updated 23 Jan 2023 11:30 PT.
Midpoint is a protocol and platform for making HTTP requests from smart contracts to off-chain endpoints. Unlike traditional oracle networks - midpoints allow developers to define arbitrarily complex requests with components such as parameters/headers defined on-chain, multistep authentication workflows, private off-chain data for keys, and cross-chain functionality. We believe developers should be able to define and make a call from a smart contract to any off-chain endpoint in under five minutes and with one line of code; no deploying infrastructure and no talking to a support team.
There is no predefined list of midpoints or list of services/websites that Midpoint supports. Every day developers build midpoints to connect their smart contract to new services and endpoints - ones that we (Midpoint Labs) - have never heard of.

We Really Mean It: One Line of Solidity

// Build with npm, add a version tag of "23" on GitHub, and deploy to production
IMidpoint(startpointAddress).callMidpoint(219, "npm run", bytes1(0x00) "prod", bytes1(0x00), 23);
Request and Response
// Check if a DocuSign document has been signed
uint64 Request_ID = IMidpoint(startpointAddress).callMidpoint(134, "a1cf7e68-872f-4374-b6de-129ca07fe16f");
// Take action accordingly
function callback(uint64 Request_ID, uint64 Midpoint_ID, string memory status, uint8 signers) public
Today developers are using midpoints to interact with hundreds of off-chain endpoints including Twilio, Stripe, Docusign, Slack, Twitter, Google Maps, OpenAI, Wikipedia, and Discord. Discover the community, see sample projects, and get support by following us on Twitter and joining our Discord.
Last modified 1d ago