The RTCIceCandidate interface's read-only foundation property is a string which uniquely identifies the candidate across multiple transports. As such, the foundation can be used to correlate candidates that are present on multiple RTCIceTransport objects


var foundation = RTCIceCandidate.foundation;


A DOMString which uniquely identifies the candidate across all RTCIceTransports on which it is available.

Note: If port is null — and port is supported by the user agent — passing the candidate to addIceCandidate() will fail, throwing an OperationError exception.

Usage notes

Consider this SDP attribute line (a-line) which  describes an ICE candidate:

a=candidate:4234997325 1 udp 2043278322 44323 typ host

The field "4234997325" is the foundation.


This code snippet uses the foundation of two candidates to determine if they're actually the same candidate.

if (candidate1.foundation == candidate2.foundation) {
  /* the two candidates are the same, even if they're on
     different transports */


Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCIceCandidate.foundation' in that specification.
Candidate Recommendation Initial definition.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
foundationChrome No support NoEdge Full support YesFirefox No support NoIE No support NoOpera No support NoSafari ? WebView Android No support NoChrome Android No support NoEdge Mobile Full support YesFirefox Android ? Opera Android No support NoSafari iOS ? Samsung Internet Android Full support Yes


Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown

Document Tags and Contributors

Contributors to this page: mdnwebdocs-bot, Sheppy
Last updated by: mdnwebdocs-bot,