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

ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
foundationChrome Full support 74Edge Full support ≤18Firefox No support NoIE No support NoOpera No support NoSafari ? WebView Android Full support 74Chrome Android Full support 74Firefox Android ? Opera Android No support NoSafari iOS ? Samsung Internet Android Full support 11.0


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